webForumDet fria alternativet

Databassortering

PHP

5 svar · 195 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Hej

Jag skulle behöva lite hjälp med en PHP-sida. Jag har förenklat själva innehållet för att det skall bli lättare att förstå.

Fråga:
I en MySQL-databas finns kolumnerna Produkt och Pris. Jag vill få upp en lista med antalet produkter per pris.

Ex:
Finns det 10 st Produkter som heter "Smurf" varav 6 kostar 100 kronor och 4 kostar 200 kronor så skall det bli en lista där det står:
Smurf – 100 kr = 6
Smurf – 200 kr = 4

Det borde väl inte vara en för svår nöt att knäcka för er PHP-nissar där ute? ;)

/Tor

------------------
TorWeb
-------------------

Medlem sedan dec. 19991 749 inlägg
#2

Simpelt

$res=mysql_query=("SELECT produkt,pris,count(*) as antal FROM tabellen GROUP BY pris");

while($r=mysql_fetch_array($res)) {
  echo "$r[produkt] - $r[pris]kr = $r[antal]"; 
}

Frågan borde egentligen ställts i mySQL forumet eftersom det var den man behövde tänka till på

------------------

"Där ser du. De är synthare och inte scientologer..."

nanne.net

[Redigerat av nanne den 04 jan 2001]

Medlem sedan dec. 200012 464 inlägg
#3

Använd group by

select count(*) as antal,produkt,pris from priser group by produkt,pris

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 200013 890 inlägg
#4

Jag visste väl att det skulle vara lätt Nanne!
Lite modifierat så blev det så här:

$res=mysql_query("SELECT Produkt,Pris,count(*) as antal FROM tabellen GROUP BY Produkt,Pris ");
while($r=mysql_fetch_array($res)) {
echo "$r[Produkt] - $r[Pris]kr = $r[antal]<br>";
}

Nu skulle jag bara behöva en sak till: Ett <br> mellan varje Produkt. :e

/T

------------------
TorWeb
-------------------

[Redigerat av Web-Tor den 04 jan 2001]

Medlem sedan jan. 2000224 inlägg
#5

Så här borde det väl se ut då? :)

$res=mysql_query("SELECT Produkt,Pris,count(*) as antal FROM tabellen GROUP BY Produkt,Pris ");
while($r=mysql_fetch_array($res)) {
echo "$r[Produkt] - $r[Pris]kr = $r[antal]" . "<br>";
}

------------------
//Du ska inte slänga vatten över ån.
PHP vs ASP (10 - 0)

Medlem sedan nov. 200013 890 inlägg
#6

Nu är jag inte riktigt med. :q
U2K, det är väl ingen större skilnad på din och min kod?

Förtydligande:
Jag skulle vilja ha ett <br> mellan varje produkt.

Ex:
Smurf – 100 kr = 6
Smurf – 200 kr = 4
// ny rad
Banan – 1 kr = 1
Banan – 2 kr = 1
Banan - 3 kr = 2
// ny rad
Grej - 10 kr = 5

Kom igen nu! Det är väl inte så svårt? :e

/Tor

------------------
TorWeb
-------------------

[Redigerat av Web-Tor den 08 jan 2001]

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)