Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Grupowanie wyników i ich przedstawienie
roghatt
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ulysess
post
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


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..)
Go to the top of the page
+Quote Post
roghatt
post
Post #3





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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ć
Go to the top of the page
+Quote Post
roghatt
post
Post #5





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 03:06