christdi Skrevet 8. mars 2005 Del Skrevet 8. mars 2005 Hei. Jeg lurer på hvordan jeg multipliserer eller legger sammen alle tallene i en mysql kolonne med PHP ? Lenke til kommentar
jrz Skrevet 8. mars 2005 Del 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. Lenke til kommentar
christdi Skrevet 8. mars 2005 Forfatter Del 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>"; ?> Lenke til kommentar
Torbjørn Skrevet 8. mars 2005 Del Skrevet 8. mars 2005 sum() er en mysqlfunksjon... Lenke til kommentar
christdi Skrevet 8. mars 2005 Forfatter Del 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. Lenke til kommentar
mysjkin Skrevet 9. mars 2005 Del 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. Lenke til kommentar
Torbjørn Skrevet 9. mars 2005 Del 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? Lenke til kommentar
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å