Avatar billede jammerlab Nybegynder
18. november 2003 - 21:41 Der er 8 kommentarer og
1 løsning

While loop mysql

http://212.242.60.87/amiciny2/ircstats.php?log=true

Jeg skal lave en while loop som tar og tæller alle de steder der fremkommer et nyt ident... og så tælle hvor mange gange der er skrevet en besked fra det ident... hvis i forstår? :) Så den tæller alle idents.... og tæller hvor mange beskeder der er kommet fra hvert ident. Nogen der kan hjælpe med det?

$query = mysql_query("select * from botling_stats") or die(mysql_error());
while($row = mysql_fetch_array($query)){

???????

}

Variablen hedder $ident
Avatar billede spunk13 Nybegynder
18. november 2003 - 21:43 #1
du mangler sandsynligvis et semikolon ; ved en af dine kommandoer mellem { }
Avatar billede jammerlab Nybegynder
18. november 2003 - 21:43 #2
?? Jeg har jo slet ikke lavet det mester... hvad snakker du om?
Avatar billede spunk13 Nybegynder
18. november 2003 - 21:47 #3
Jeg kiggede bare på fejlmeddelelsen der kom frem ved klik på linket :)
Avatar billede jammerlab Nybegynder
18. november 2003 - 21:47 #4
mindre fejl var lige ved at opdatere noget andet i filen hehe ;)
Avatar billede detox Nybegynder
18. november 2003 - 22:13 #5
Jeg vil mene du kan prøve med den her query:

SELECT ident, count(*) antal
FROM botling_stats GROUP BY ident

Og så hente dine variabler i $row['ident'] og $row['antal']
Avatar billede jammerlab Nybegynder
18. november 2003 - 22:16 #6
Det prøver jeg.
Avatar billede jammerlab Nybegynder
19. november 2003 - 16:37 #7
Det fungere...

men jeg vil gerne ORDER BY antal :P

    $query = mysql_query("SELECT ident, count(*) antal FROM botling_stats GROUP BY ident") or die(mysql_error());
    while($row = mysql_fetch_array($query)){

    $query2 = mysql_query("SELECT * FROM botling_stats WHERE ident='$row[ident]'") or die(mysql_error());
    $row2 = mysql_fetch_array($query2);
       
    echo "<tr><td>$row2[nick]</td><td>$row[ident] $row[antal]</td><td>$row2[text]</td></tr>";
   
    }

Hvordan for jeg den til at ORDER BY hvem end der nu har højest antal?
Avatar billede detox Nybegynder
20. november 2003 - 00:20 #8
Jamen så sætter du bare ORDER BY antal DESC for enden:

$query = mysql_query("SELECT ident, count(*) antal FROM botling_stats GROUP BY ident ORDER BY antal DESC") or die(mysql_error());
Avatar billede jammerlab Nybegynder
20. november 2003 - 14:19 #9
jep thx :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester