![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Posiadam tabelę kategorie o polach id, name, sub_id Przykładowe dane: id name sub_id 1 a 0 2 b 1 3 c 1 4 d 0 Chciałbym aby kategorie zostały pogrupowane według głównych kategorii (czyli wtedy gdy sub_id == 0) np. Kategoria a - Kategoria b - Kategoria c Kategoria d Proszę o pomoc (IMG:style_emoticons/default/smile.gif) Pozdrawiam Ten post edytował markuz 26.11.2013, 09:53:55 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Trafiłem na Twój artykuł wcześniej aczkolwiek myślałem, że da się to zrobić bez użycia PHP w czystym SQL. Da się? (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Moglbys uzywac LEFT JOIN, ale i tak wowczas nie uzyskasz dokladnie tego co napisales.
W czystym mysql raczej nie dojdziesz do kladnie do tego co tu pokazales ze chcesz miec. baza tak nie zwraca danych. Uzyskaszdane w postaci Kategoria a kategoria b Kategoria a kategoria c Kategoria d null a nie o to ci chodzi. Tak czy siak bedziesz to musial obrobic w php by wlasciwie wyswietlic na stronie |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Dzięki za pomoc. Dla innych rozwiązanie gdyby ktoś potrzebował:
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie zadne 'sub' => FALSE tylko 'sub' => array() W arcie masz to wyraznie zaznaczone.
Twoim sposobem lecisz potem podkategorie i dodajesz element tablicy do FALSE.... No troche logiki. I jak juz podajesz rozwiazanie dla potomnych to przydaloby napisac skadzes wytrzasnal tablice $categories. Bądź konsekwentny, bo bez tej informacji twoje rozwiazanie dla potomnych jest do niczego. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja wolę 'sub' => FALSE ponieważ przy wyświetlaniu łatwo mogę sobie sprawdzić czy podkategorie istnieją, jeśli nie istnieją to zmienna 'sub' == FALSE jeśli istnieją to 'sub' jest tablicą.
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
do tego sluzy EMPTY ktore czy to false, czy pusta tablica zwraca ci to samo i nie ma zadnego problemu
A wg. twojej logiki jak pisalem dodajesz nagle ni z gruszki ni zpietruszki cos do FALSE. Skoro cos moze byc tablicą, to powinno to byc jawnie zaznaczone przez array(). Ucz sie pisac poprawnie. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie daję całość poprawioną dla potomnych (IMG:style_emoticons/default/smile.gif)
Kontroler:
Widok:
Mam nadzieję, że wszystko jest już poprawnie napisane (IMG:style_emoticons/default/smile.gif) Całość pisana na frameworku CodeIgniter. Ten post edytował markuz 26.11.2013, 10:29:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 03:45 |