Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zgrupowac dane z BAZY na stronie
Forum PHP.pl > Forum > Bazy danych
bernag
Witam

Potrzebuje wyswietlic dane z tabeli jednym zapytaniem

SELECT p.lid,p.uid,p.cid,p.title FROM list_people AS p,user AS u WHERE p.uid=u.uid ;

co teraz daje mi wynik

| 1 | 2 | 10 | User2 |
| 2 | 1 | 100 | User1 |
| 3 | 2 | 101 | User2 |
| 4 | 2 | 102| User2 |

Potrzebuje wyswietlic to na stronie w takiej formie, wazne tez ze ma byc to na stronie posortowane ORDER BY cid

<tr>
<td>10</td><td>User2</td> <td>10 , 101, 102</td>
</tr>

<tr>
<td>100</td><td>User1</td> <td>100</td>
</tr>


Wolalem przedstawic to powyzej za pomoca htmla. Chetny do pomocy to zrozumie latwiej niz moje wywody problematyczne.
Reasumujac, tutaj mam 4 wyniki z bazy, ale chce je wyswietlic na stronie za pomoca 'while' w dwoch wierszach. Z tym ze User2 jest zgrupowany i na koncu 10,101 i 102 sa razem.
Dodam tez iz baza bedzie miala setki tys pozycji, wiec wydaje mi sie ze powinno to byc rozwiazane w zapytaniu sql a nie na tablicach w php.

Niestety nie rozwiazalem tego w sqlu. A na tablicach to latwe tyle ze raczej sobie tego nie wyobrazam przy olbrzymiej ilosci danych do przesortowania z warunkami itd.

Dzieki za pomoc.
FiDO
Nie napisales nawet z jakiej bazy korzystasz...
Jesli masz mysql 4.1 lub nowszy to zainteresuj sie funkcja agregujaca GROUP_CONCAT().

PS. przenosze na bazy.
bernag
ohmy.gif sorry ze zostawilem posta nie w mysql. jestem nowy

Dzieki za wskazowke, bylem blisko z CONCAT() biggrin.gif

SELECT p.lid,p.uid,p.cid,GROUP_CONCAT(DISTINCT p.cid ORDER BY p.cid DESC SEPARATOR ';'), p.title FROM list_people AS p,user AS u WHERE p.uid=u.uid GROUP BY cid;

TO cos agregujace rozwiazalo sprawe.
Takie wskazowki uwielbiam, prawie jedno slowo podpowiedzi a juz sam moge reszte znalezc.

Jeszcze pare takich wskazowek a nazbiera sie DUZA zgrzewka piw.

Od dzis notuje kto mi KONKRETNIE pomogl i jednego dnia odplace z nawiazka
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.