![]() |
![]() |
![]()
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 ![]() 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 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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ę?
![]() -------------------- |
|
|
![]()
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 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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
![]() Kontroler:
Widok:
Mam nadzieję, że wszystko jest już poprawnie napisane ![]() Całość pisana na frameworku CodeIgniter. Ten post edytował markuz 26.11.2013, 10:29:28 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:07 |