Gå til innhold

Anbefalte innlegg

Sitter her og lager et simpelt script for å holde litt oversikt over besøkende på siden.

når en besøkende skriver noe input, f.eks i shoutbox eller en kommentar i galleriet så lagrer jeg en cookie på maskinen hans med navnet.

hvis de så kommer inn igjen på siden, så legger besøkstelleren som vanlig til en, men nå også navnet som ligger i cookien, til i tabellen.

 

men dette er det jeg lurer på:

hvordan kan jeg finne ut hvor mange ganger "et navn" har vært inne på siden?

en illustrasjon:

 

id--navn

1--per

2--ola

3--NULL

4--per

5--stine

6--per

7--NULL

8--ola

 

hvordan kan en query se ut for å finne ut at per har vært på siden min 3 ganger, ola 2 ganger og stine 1 gang?

 

ps: tabellen ser litt annerledes ut med iplogger og timestamp, men det er ikke så viktig her..

Endret av kennteh
Lenke til kommentar
Videoannonse
Annonse

Prøv dette:

 

$query = mysql_query(SELECT COUNT(id) as antall FROM tabellen WHERE navn = '$navn') or die ("Feil ved spørring);

$rader = mysql_fetch_array($query);

$antall = $rader["antall"];

 

Her er $navn det navnet som du henter fra den innloggede.

Lenke til kommentar

planen var å ha det på en adminside, slik at alle navn ble listet ut. f.eks:

 

per: 3

ola: 2

stine: 1

 

kan fikses med en spørring inne i en while, men er vel raskere å få alt i en spørring?

 

 

har fått skrevet noe kode nå, men den funker ikke.

<?php
 $querynavn = "SELECT bruker FROM teller WHERE bruker > 0";
 $querynavn = mysql_query($querynavn) or die(mysql_error());


 while($rad = mysql_fetch_array($querynavn)){
   echo "".$rad[bruker].": ";

   $bruker = $rad[bruker];

   $queryantall = mysql_query("SELECT COUNT(id) as antall FROM teller WHERE bruker = '$bruker'") or die(mysql_error());
   $antall = mysql_fetch_array($queryantall);
   $antall = $rader["antall"];
   echo "$antall";
 }
?>

 

den gir ingen output, men den skal gi:

hola: 3
(det er min cookie, og det eneste navnet som er der)

 

resten av kolonnen inneholder NULL, før jeg la til den kolonnen og nå står det ingenting der.

 

er sikkert noe med at det har vært en lang dag.. men noen som kan se en løsning?

Endret av kennteh
Lenke til kommentar

Det er svært lite effektivt å kjøre mange spørringer for noe som enkelt kan gjøres én eneste spørring:

select bruker, count(*) from teller were bruker is not null group by bruker

Denne spørringen skal gi deg det resultatet du trenger, og så kan du gå gjennom rad for rad i PHP-scriptet ditt.

 

Happy Codin'

Lenke til kommentar

takk skal dere ha :)

 

slik ble den:

<?php
 $query = "select bruker, count(*) as antall from teller where bruker is not null group by bruker";
 $query = mysql_query($query) or die(mysql_error());


 while($rad = mysql_fetch_array($query)){
   echo "".$rad[bruker].": \n";
 echo "".$rad[antall]."<br>\n";

 }
?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...