Avatar billede riverhorse Nybegynder
20. december 2007 - 11:42 Der er 4 kommentarer og
1 løsning

addere en hel række

Hvordan addere man en hel kolonne fra en mysql database i php ?

På forhånd tak

Riverhorse
Avatar billede pidgeot Nybegynder
20. december 2007 - 11:46 #1
Du laver en variabel hvor du lægger den aktuelle værdi til i takt med at du løber gennem rækkerne...

...men hvorfor ikke bare benytte SQL's indbyggede SUM()?
Avatar billede riverhorse Nybegynder
20. december 2007 - 14:36 #2
Ja jeg har læst på sum() men hvordan bruger man den i praksis ?

Riverhorse
Avatar billede pidgeot Nybegynder
20. december 2007 - 14:42 #3
Lad os sige du har en tabel (vi kalder den pointlog) hvor du registrerer point for nogle brugere baseret på hvordan de klarer sig i nogle konkurrencer. Du ville så eks. kunne have følgende felter:

bruger_id (PK)
konkurrence_id (PK)
point

og hver gang de får point i en konkurrence, indsætter du en række der indeholder antallet af point de har fået.

Du kan så finde ud af hvor mange point hver enkelt bruger har fået med en query som følger:

SELECT bruger_id, SUM(point) AS total FROM pointlog GROUP BY bruger_id

...og du vil så få en liste af alle brugere der har fået nogle point, inkl. hvor mange den enkelte bruger har fået.

Du kan også se hvor meget der i det hele taget er givet ud, uafhængigt af hvem de er gået til:

SELECT SUM(point) AS total FROM pointlog

(Grunden til "AS total" er at du normalt vil bruge kolonnens navn til at få fat på værdien - vi siger derfor den kolonne skal hedde total, så det er nemmere at læse)
Avatar billede riverhorse Nybegynder
20. december 2007 - 14:48 #4
mit script hedder: $query = mysql_query("SELECT SUM(orden) FROM menu_audio");

men hvad hedder parameteren at resultatet bliver skrevet i ?

Riverhorse
Avatar billede pidgeot Nybegynder
20. december 2007 - 14:51 #5
Netop derfor er det en god ide at bruge AS, så du nemmere kan finde det rigtige navn - kan ikke huske om der er nogle omskrivningsregel for paranteser - men ellers er det i dette tilfælde lige så nemt at benytte:

$query = mysql_query("SELECT SUM(orden) FROM menu_audio");
$row=mysql_fetch_row($query);
//resultat ligger i $row[0]

Hvis du er vant til at bruge mysql_fetch_array, så er det en god ide at holde op, og altid bruge enten mysql_fetch_assoc eller mysql_fetch_row (afhængigt af situationen) - det giver bedre performance.
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