Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak zgrupowac dane z BAZY na stronie, nic nie rozwiazuje problemu ORDER, GROUP
bernag
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.02.2005

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


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





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


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.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
bernag
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.02.2005

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


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

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

 



RSS Aktualny czas: 21.08.2025 - 21:15