Avatar billede jaw Nybegynder
06. juni 2003 - 01:40 Der er 10 kommentarer og
1 løsning

Count won/lost

Jeg har et felt med 2 valgmuligheder: Won/Lost. Hvordan får jeg den til at tælle (og vise) hvormange indtastninger der indeholder won og hvor mange der indeholder lost?

Håber I kan hjælpe :)
Avatar billede jakobandersen Nybegynder
06. juni 2003 - 01:50 #1
SELECT <felt>, COUNT(*) FROM <table> GROUP BY <felt>

Hvor <felt> er dit Won/Lost felt og <table> er navnet på din tabel, dette vil give dig f.eks:

     
--------------
Won    |  27
Lost  |  50

Hvis altså der i <felt> står enten "Won" eller "Lost"
Avatar billede jaw Nybegynder
06. juni 2003 - 02:29 #2
Moonduck - For det første tak for hjælpen... Men jeg er lidt langsom, især på det her tidspunkt. Hvordan får du den til at skrive det? Den skal vel echo"et eller andet" ?
Avatar billede jakobandersen Nybegynder
06. juni 2003 - 08:48 #3
Det gør du blot som du plejer, hvis du vil have et eksemple må du lige fortælle i hvilket sprog du trækker dataene ud.
Avatar billede disky Nybegynder
06. juni 2003 - 09:45 #4
og det spørgsmål skal du stille i den gruppe der omhandler det script sprog.

Dit MySQL spørgsmål er blevet korrekt besvaret.
Avatar billede jaw Nybegynder
06. juni 2003 - 14:32 #5
Disky - Jo, jo... Men dropper da ikke spørgsmålet her, hvis moonduck kan svare på det!

Moonduck - Det jeg normalt gør er:
<?

    $db = mysql_connect("mysql.fairhost.dk","user","pass");
    $q = "    $q = "SELECT * FROM tabel ORDER BY 'id' ASC";>";
    $res = mysql_db_query("cswarning",$q,$db);
    while ($row = mysql_fetch_array($res)) {
        echo"$row[hvad-det-nu-skal-være]";}

        Skifter så $1 ud, men hvordan "echo'er" jeg det?
    $q = "SELECT <felt>, COUNT(*) FROM <table> GROUP BY <felt>";

Kan du klare det? :)
Avatar billede jaw Nybegynder
06. juni 2003 - 14:32 #6
$1 = $q selvf.
Avatar billede jakobandersen Nybegynder
06. juni 2003 - 17:29 #7
Du kan bruge

echo $row[0];
echo $row[1];

inde i din løkke eller alternativt give dit count felt et navn i din SQL f.eks.:

SELECT <felt>, COUNT(*) AS Antal FROM <table> GROUP By <felt>;

Og så bruge $row["Antal"] og $row["<felt>"]
Avatar billede jaw Nybegynder
07. juni 2003 - 17:29 #8
Hej Moonduck.
Nu nærmer det sig :) Det er en fantastisk hjælp du har ydet... Jeg har brugt lidt at din kode og lidt som jeg selv fiksede for at få det til at virke. Men jeg har lige et lille problem endnu!

Pt. ser min kode sådan ud:
$db = mysql_connect("mysql.fairhost.dk","cswarning","Hgepq6cM");
$query = mysql_query("SELECT status, COUNT(*) AS antal FROM resultater GROUP By status;");
$antal = mysql_fetch_array($query);
echo $antal[status];
echo $antal[antal];

Det virker sådan set godt nok. Det der er problemet er, at den kun echo'er Lost 3 og ikke hvormange Wins der er. Er det mig der har misforstået noget i din kode?

Hvis du løser det, skal jeg nok forhøje pointene lidt. Du har jo efterhånden brugt lidt tid på det :)
Avatar billede jaw Nybegynder
07. juni 2003 - 18:02 #9
Et trick til næste gang jeg skriver, vil nok være ikke at oplyse mit password :) Men det er ændret nu...!
Avatar billede jakobandersen Nybegynder
07. juni 2003 - 18:21 #10
Du skal stadig bruge en løkke som i dit oprindelige kode, altså:

while ($antal = mysql_fetch_array($res)) {
  echo $antal[status];
  echo $antal[antal];
}
Avatar billede jaw Nybegynder
07. juni 2003 - 18:54 #11
Det virker jo perfekt! Takker...
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