Avatar billede nopper Praktikant
10. december 2008 - 08:23 Der er 10 kommentarer og
1 løsning

Tælle antal poster forskellig fra 0

Jeg har en database, hvor jeg indskriver resultater fra klubaftener, nu vil jeg gerne lave et udtræk, hvor jeg får antal medlemmer, som har fået point.
Min database indeholder følgende poster.:
medlem_nr
medlem_navn
1.runde
2.runde
total
Er der nogen der kan hjælpe.
Avatar billede speedy Nybegynder
10. december 2008 - 08:27 #1
SELECT COUNT(*) FROM tabel_navn WHERE total > 0
Avatar billede nopper Praktikant
10. december 2008 - 08:53 #2
Jeg er meget ny indenfor php og mysql.Mangler der ikke noget. Jeg kan ikke få det til at virke.
Jeg skriver:
SELECT COUNT(*) FROM tabel_navn WHERE total > 0
print "$total";
Avatar billede speedy Nybegynder
10. december 2008 - 08:59 #3
Okay, vil det sige du slet ikke har lavet udtræk af databasen før?
For du skal sørge for at åbne en forbindelse til mysql med funktionen mysql_connect, og derefter udføre SQL kommandoen som jeg skrev ved hjælp af mysql_query.

du kan evt. læse mere om disse på

http://dk.php.net/manual/en/function.mysql-connect.php
http://dk.php.net/manual/en/function.mysql-query.php
Avatar billede nopper Praktikant
10. december 2008 - 09:27 #4
Jeg arbejder med denne streng:
$resultat=mysql_query("
SELECT COUNT(*) FROM sep_15 WHERE total > 0);
while($row=mysql_fetch_array($resultat)")
{
print ".$row['total'].";

};
Jeg har åbnet for databasen.
Kan du se hvad der er galt
Avatar billede nemlig Professor
10. december 2008 - 10:01 #5
Du mangler anførselstegn i til sidst i din select-linje .....toal >0");
Du skal heller ikke anvende while, da du kun skal hente 1 resultat.

En metode kunne også være:

$resultat = mysql_query("SELECT * FROM sep_15 WHERE total > 0");
$row = mysql_fetch_array($resultat);
$antal_poster = mysql_num_rows($row);
echo $antal_poster;
Avatar billede speedy Nybegynder
10. december 2008 - 10:06 #6
Jeg vil stadig anbefale at bruge COUNT

$resultat = mysql_query("SELECT COUNT(*) AS antal FROM sep_15 WHERE total > 0");
$row = mysql_fetch_array($resultat);
$antal_poster = $row['antal'];
echo $antal_poster;
Avatar billede nemlig Professor
10. december 2008 - 10:20 #7
Kan vi konkludere, at COUNT er bedre, idet udtrækket fra databasen kun er et enkelt tal, hvorimod mit forslag trækker alle poster ud incl. alle felter, hvor total er > 0?
Avatar billede nopper Praktikant
10. december 2008 - 10:27 #8
nemlig smid et svar. Det var lige det jeg eftersøgte.
Avatar billede nemlig Professor
10. december 2008 - 10:35 #9
Jeg springer over - jeg blandede mig blot i en "samtale", hvor du var i gode hænder.
Speedy's løsning er bedre.
Avatar billede nopper Praktikant
10. december 2008 - 11:01 #10
okay, speedy smid et svar.
Avatar billede speedy Nybegynder
10. december 2008 - 11:36 #11
Ja, årsagen er netop at du henter alle poster ud, hvilket er noget mere ressourcekrævende end at "tælle" :)
Godt du kunne bruge det til noget.
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
Computerworld tilbyder specialiserede kurser i database-management

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