Forum > Övriga serverspråk > PHP
Hejsan jag behöver lite hjälp här, ska förklara... Jag har en tabell i Mysqlen där det är siffror som ska adderas med varandra. Men jag vet inte hur jag ska få ut alla siffrorna på "bordet". Tex om summan i tabell 1 har 52 och i tabell 2 är den 30 så skall det adderas. Men jag har fastnat, jag vet inte hur jag får ut båda 2 så jag kan addera.
Ex:
$sql=("SELECT * FROM siffror")or die(mysql_error());
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
$addering = $rows['pris']+;
echo $addering;
}Fast om man tar till ett (+) tecken så blir det bara error... :/ Om jag inte har ett + så kommer siffrorna upp 5230 men vad jag vill är att dom skall adderas så det står 82 där istället..
Svårt att förklara kände jag, hoppas att ni förstår och kan hjälpa :)
| Skriv utOch pris är vad för datatyp?
$addering skall vara 0 i början, vad du gör nu är ju att skriva ut $addering för varje loop, vilket du inte vill, du kan ju köra SQL SUM(pris) direkt (du skall ALDRIG köra med * för övrigt)
$sql=("SELECT * FROM siffror")or die(mysql_error());
$result=mysql_query($sql);
$addering = 0;
while($rows=mysql_fetch_array($result)){
$addering += $rows['pris'];
}
echo $addering;
annars kör direkt i din SQL:
$sql=("SELECT SUM(pris) as total FROM siffror")or die(mysql_error());
$result=mysql_query($sql);
$addering = 0;
while($rows=mysql_fetch_array($result)){
$addering = $rows['total'];
}
echo $addering;
Pris är INT(11) i mysqlen, det första exemplet fungerade suveränt!:) Men om jag har Pris INT(11) och Antal INT(11) och skall muliplicera det och sen plussa med de andra? Ex: Om tabell1 är Pris = 50 & Antal = 2 och tabell 2 är Pris = 20 & Antal = 4 hur gör jag då om jag vill ha det såhär: 50*2+20*4=180 ?
Jag kom på det!:)
$sql=("SELECT * FROM siffror")or die(mysql_error());
$result=mysql_query($sql);
$summa = 0; while($rows=mysql_fetch_array($result)){
$addering = $rows['pris'];
$addering2 += $rows['antal'];
$summa = $addering*$addering2;
} echo $summa;
Tack för hjälpen Voigtan!
Har du två tabeller i databasen eller är det en tabell med två kolumner (pris och antal)?
Har svårt att förstår vad du menar med tabell 1 och tabell 2. När du pratar om tabell 1 och 2, menar du inte
post 1, 2... osv i tabellen?
Du vill alltså multiplicera kolumnen pris med kolumnen antal för varje post i tabellen?
Exempel
---
1 | 50x20
2 | 20x40
Är det korrekt?
Yes precis chrille :)
Denna SQL gör precis det du vill göra.
SELECT SUM(pris*antal) 'total' FROM siffror LIMIT 1
2 | 20 | 4
-------------
Fullständig kod.
$query = mysql_query("SELECT SUM(pris*antal) 'total' FROM siffror LIMIT 1");
echo mysql_result($query, 0, 'total');Tack det fungerade också!:)