Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Odczyt z bazy powstarzających się rekordów
kubax33
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Mam tabelę

NAZWA | ID_PRODUKTU | SZTUK
spodnie 1 | 1000 | 21
spodnie 2 | 1000 | 11
czapka | 2000 | 6
bluzka | 5000 | 6
spodnie 3 | 1000 | 55

I teraz chciałbym wyciągnąć wszystkie dane z powtarzającego się rekordu ID_PRODUKTU 1000 czyli wynik powiedzmy echo otrzymany ma być taki:

PRODUKT: 1000 NAZWA: spodnie 1, spodnie 2, spodnie 3 SZTUK: 87

Czyli chcę mieć podane wszystkie nazwy i zliczoną ilość sztuk przy czym jak widać ma być to jeden wynik z pobranymi wszystkimi nazwami i zliczoną ilością sztuk bo wychodzi mi jak na razie jedno pod drugim i nie ma co z tym zrobić.

Czy jest w ogóle opcja wyfiltrowania tego? ewentualnie nakierujcie mnie co tutaj może dobrze to obsłużyć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Masz dwie możliwości.

1. Układanie sobie danych już po pobraniu poszczegolnych wierszy w pętli. Czyli pobierasz tak jak mowisz jedno pod drugim i robisz np pętle:
$rows = [];
  1. while($row = ... ) {
  2. $rows[$row['ID_PRODUKTU']]['nazwy'][] = $row['NAZWA'];
  3. $rows[$row['ID_PRODUKTU']]['sztuki'] += $row['SZTUK'];
  4. }

Później wystarczy polaczyc nazwy przecinkiem i jestes w stanie wyswietlic to co potrzebujesz

2. W zapytaniu użyjesz sum() do policzenia sztuk, group_concat() do polaczenia nazw przecinkiem, i group by ID_PRODUKTU.
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 06:05