christdi Skrevet 8. mars 2005 Skrevet 8. mars 2005 Hei. Jeg lurer på hvordan jeg multipliserer eller legger sammen alle tallene i en mysql kolonne med PHP ?
jrz Skrevet 8. mars 2005 Skrevet 8. mars 2005 for å summere kan du bruke SUM() for å gange sammen må du gjøre det for hver verdi i en løkke.
christdi Skrevet 8. mars 2005 Forfatter Skrevet 8. mars 2005 Jeg får bare melding om Fatal error: Call to undefined function: sum(). Hva gjøre jeg galt ? <? echo "<table cellpadding=4 cellspacing=0 border=1>"; echo "<tr>"; echo "<td bgcolor=lightgrey>Kode</td>"; echo "<td bgcolor=lightgrey>Navn</a></td>"; echo "<td bgcolor=lightgrey>Vekttall</a></td>"; echo "<td bgcolor=lightgrey>Studiepoeng</a></td>"; echo "<td bgcolor=lightgrey>Endre/Slett</td>"; echo "</tr>"; include("config.php"); $order=$_GET['order']; if(!$order) { $order="id"; } $sql_result = mysql_query("SELECT * FROM $tabell order by $order asc"); $loop = mysql_num_rows($sql_result); for ($i=0; $i<$loop; $i++) { $myrow = mysql_fetch_array($sql_result); $fag_kode = $myrow["fag_kode"]; $fag_navn = $myrow["fag_navn"]; $fag_vekttall = $myrow["fag_vekttall"]; $fag_studiepoeng = $myrow["fag_studiepoeng"]; $id = $myrow["id"]; echo "<tr>"; echo "<td>$fag_kode</td>"; echo "<td>$fag_navn</td>"; echo "<td>$fag_vekttall</td>"; echo "<td>$fag_studiepoeng</td>"; echo "<td><a href='endre.php?id=$id'>Endre</a> | <a href='sikker.php?id=$id'>Slett</a></td>"; echo "</tr>"; } echo "<tr><td colspan=2>Sum</td><td>".sum($fag_vekttall)."</td><td>".sum($fag_studiepoeng)."</td><td> </td></tr>"; echo "</table>"; ?>
christdi Skrevet 8. mars 2005 Forfatter Skrevet 8. mars 2005 Hei Torbjørn. Jeg fant løsning på det. $sql_result = mysql_query("SELECT * FROM $tabell order by $order asc"); $loop = mysql_num_rows($sql_result); for ($i=0; $i<$loop; $i++) { $myrow = mysql_fetch_array($sql_result); $vekttall += $myrow["vekttall"]; $id = $myrow["id"]; echo "<tr>"; echo " <td>$vekttall</td>"; echo " <td>".($vekttall*3)."</td>"; #Studiepoeng echo "</tr>"; } ?> Skjønner ikke helt hvorfor + foran = fungerer, men der gjør nå det... Takk for alle forslag.
mysjkin Skrevet 9. mars 2005 Skrevet 9. mars 2005 Skjønner ikke helt hvorfor + foran = fungerer, men der gjør nå det... += er en notasjon som i flere programmeringsspråk (c, c++, perl) brukes til å legge noe til en variabel, du kunne også ha skrevet det som $vekttall = $vekttall+$myrow["vekttall"]; Det går selvfølgelig også an å skrive -=, *=, .= etc. (Beklager, jeg har jobbet for mye som lærer, så jeg klarer ikke å la en slik kommentar stå ubesvart...) M.
Torbjørn Skrevet 9. mars 2005 Skrevet 9. mars 2005 når jeg sa sum() er en mysqlfunksjon, mente jeg at du kan bruke den i sql-queryet. list($total) = mysql_fetchrow(mysql_query("select sum(vekttall)) from $tabell")) echo "sum vekttall: $total<br/>\n"; ønsker du å skrive ut kumulative studiepoeng slik du gjør?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå