webForumDet fria alternativet

Databassortering

5 svar · 193 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200011 794 inlägg
#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
-------------------

nanneMedlem sedan dec. 19991 047 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]

LarsGMedlem sedan dec. 200012 465 inlägg
#3

Använd group by

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

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

Web-TorMedlem sedan nov. 200011 794 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]

U2KMedlem sedan jan. 2000231 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)

Web-TorMedlem sedan nov. 200011 794 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]

Genererad på 354 ms · cache AV · v20260730165559-full.f96bc7eb