Avatar billede xtr0 Nybegynder
13. juni 2003 - 14:48 Der er 9 kommentarer og
2 løsninger

Lægge flere rows sammen

Skal have lagt $r[karakter] sammen med de andre $r[karakter] hvordan gøres dette?

$query = mysql_query("SELECT * FROM resultat WHERE picid='1'");
while($r = mysql_fetch_array($query)) {

}

Altså i resultat tabellen er der en row der hedder karakter, alle karakterene skal så lægges sammen. Hvordan gøres dette?
Avatar billede ahv Nybegynder
13. juni 2003 - 14:51 #1
$samlet = 0;
$query = mysql_query("SELECT * FROM resultat WHERE picid='1'");
while($r = mysql_fetch_array($query)) {
$samlet = $samlet + $r[karakter];
}
Avatar billede schaefner Juniormester
13. juni 2003 - 14:52 #2
$query = mysql_query("SELECT SUM(karakter) AS samlet FROM resultat WHERE picid=1");

echo $row['samlet'];
Avatar billede xtr0 Nybegynder
13. juni 2003 - 14:52 #3
ah... Smart det havde jeg ikke lige tænkt på...
Tak for din hurtige hjælp
Avatar billede schaefner Juniormester
13. juni 2003 - 14:54 #4
Der mangler så lige en ting:

$query = mysql_query("SELECT SUM(karakter) AS samlet FROM resultat WHERE picid=1");
$row = mysql_fetch_array($query)´;
echo $row['samlet'];
Avatar billede xtr0 Nybegynder
13. juni 2003 - 15:09 #5
schaefner: Okay... Sejt nok :)
Meen... Hvad nu hvis jeg skal lave en top10 over dem med højest karakter er det så:
Der mangler så lige en ting:

$query = mysql_query("SELECT SUM(karakter) AS samlet FROM resultat ORDER by karakter ASC");

?
Avatar billede ahv Nybegynder
13. juni 2003 - 15:16 #6
$query = mysql_query("SELECT SUM(karakter) AS samlet FROM resultat ORDER by karakter DESC LIMIT 10");
Avatar billede ahv Nybegynder
13. juni 2003 - 15:16 #7
$query = mysql_query("SELECT SUM(karakter) AS samlet FROM resultat ORDER by samlet DESC LIMIT 10");
Avatar billede schaefner Juniormester
13. juni 2003 - 15:30 #8
$query = mysql_query('SELECT picid, SUM(karakter) AS samlet FROM resultat GROUP BY picid ORDER BY picid ASC LIMIT 10');
while($row = mysql_fetch_array($query)) {
  echo "$row[picid] - $row[samlet]<br>";
}
Avatar billede xtr0 Nybegynder
13. juni 2003 - 16:19 #9
$query = mysql_query('SELECT picid, SUM(karakter) AS samlet FROM resultat GROUP BY picid ORDER BY samlet LIMIT 10');
while($row = mysql_fetch_array($query)) {
  echo "$row[picid] - $row[samlet]<br>";
}

Den returnerer:
1 - 15
2 - 16

Den lægger tallene rigtig nok sammen den stiller bare ikke 2 først, hvorfor?
Avatar billede schaefner Juniormester
13. juni 2003 - 16:25 #10
Prøv:
$query = mysql_query('SELECT picid, SUM(karakter) AS samlet FROM resultat GROUP BY picid ORDER BY samlet DESC LIMIT 10');
Avatar billede hansen2000 Nybegynder
14. juni 2003 - 10:49 #11
ORDER BY picid DESC LIMIT 10 ?
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