Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Grupowanie wyników i ich przedstawienie
Forum PHP.pl > Forum > Przedszkole
roghatt
Witam
Posiadam tabelę w której wypisane są sprzedane produkty.
Wykonuję odpowiednie zapytanie które mi wypisuje dane w ten sposób:

Produkt1 - 10zł
Produkt2 - 12zł
Produkt3 - 16zł
Produkt3 - 16zł
Produkt1 - 10zł
Produkt1 - 10zł

Ale chcę aby mi to wypisało i wyliczyło duplikaty czyli
Produkt1 x3 - 30zł
Produkt2 x1 - 12zł
Produkt3 x2 - 32zł

Zależy mi aby nie wypisywało tych samych produktów a je pogrupowało i mi wypisało ilość ich wystąpień. Później tą ilość sobie pomnożę przez cenę.

Obecnie zapytanie mam zrobione przez
  1. while($row=mysql_fetch_array($wynik1))
  2. {
  3. ...
  4. }


Czy coś wystarczy dopisać w zapytaniu czy to stoi po stronie PHP?
Ulysess
w pętli daj jeszcze $ilosc = mysql_num_rows($wynik1); powinno Tobie zwrocic ile jest sztuk a wtedy sobie mnożysz x cene i masz wynik (nie gwarantuje Tobie że to zadziała..)
roghatt
no nie do końca bo mi wypisuje przy każdym produkcie całą ilość wyników z danego zapytania.
A to jednakowe produkty ma pogrupować.
nospor
http://nospor.pl/grupowanie-wynikow.html
Nie patrz na zapytanie tylko na WHILE - tam jest grupowanie. Idea będzie podobna do tego co ty chcesz mieć. Tylko ja wypisywałem prodykty z tej samej kategorii a ty chcesz je poprostu zsumować
roghatt
w sumie zrobiłem to przez
  1. count(*),produkty.nazwaproduktu

i na koncu zapytania
  1. GROUP BY produkty.nazwaproduktu

pozniej count wpisalem do zmiennej i pomnozylem przez cene i mi wyszlo to co chcialem.
sposób nospor troche rozbudowany i troche w nim o co innego chodzi, ale tez sie przyda na przyszlosc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.