Knebba Skrevet 6. februar 2007 Del Skrevet 6. februar 2007 (endret) 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 6. februar 2007 av kennteh Lenke til kommentar https://www.diskusjon.no/topic/712390-telle-antall-treff/
Asterisk Skrevet 6. februar 2007 Del Skrevet 6. februar 2007 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 https://www.diskusjon.no/topic/712390-telle-antall-treff/#findComment-7888436
Knebba Skrevet 6. februar 2007 Forfatter Del Skrevet 6. februar 2007 (endret) 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 7. februar 2007 av kennteh Lenke til kommentar https://www.diskusjon.no/topic/712390-telle-antall-treff/#findComment-7888483
Asterisk Skrevet 7. februar 2007 Del Skrevet 7. februar 2007 Endre: $antall = mysql_fetch_array($queryantall); Til: $rader = mysql_fetch_array($queryantall); Lenke til kommentar https://www.diskusjon.no/topic/712390-telle-antall-treff/#findComment-7888682
roac Skrevet 7. februar 2007 Del Skrevet 7. februar 2007 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 https://www.diskusjon.no/topic/712390-telle-antall-treff/#findComment-7888907
Knebba Skrevet 7. februar 2007 Forfatter Del Skrevet 7. februar 2007 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 https://www.diskusjon.no/topic/712390-telle-antall-treff/#findComment-7890804
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå