![]() |
![]() |
--mint-- |
![]()
Post
#1
|
Goście ![]() |
cześć.
Męczę się z pewnym (pewnie dość błahym) problemem. Na poczatek kod:
Mniejsza o to, że to są testy, więc niepotrzebnie to podwójne echo. Co mam, a coc chcę osiągnąc? Mam tabelę z linkami, w której są kategorie: 001 002 003 ... 020 Ale oprócz tych "głównych" kategorii, mam też podkategorie, odpowiednio: 001001 001002 002001 002002 003001 ... 020001 020002 020003 Kategorie "główne" ładnie są wyświetlane (wraz z linkami do stron), lecz chcę, by wraz z wybraną kategorią pojawiły się również podkategorie do niej przypisane. Czyli gość wchodzi do kategorii 001 i oprócz linków z tej głównej kategorii powinien widzieć odnośniki do podkategorii, czyli w tym przypadku: 001001, 001002... Co robię źle w zapytaniu? Gdzie mam byka? Pomóżcie proszę... ![]() Uploaded with ImageShack.us |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 44 Dołączył: 18.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wewnątrz while wykonujesz i wyświetlasz zapytanie:
Wtedy po skończeniu pętli głównej kategorii możesz wyświetlić $podkategorie. Nie wiem w jakim formacie masz ID więc ew z nim ('%-".$id.$idx."-%') pokombinuj. Ten post edytował maniana 4.06.2013, 10:21:30 |
|
|
--mint-- |
![]()
Post
#3
|
Goście ![]() |
Nie dałem rady, choć coś tam wymodziłem (ale i tak do niczego nie przydatne...).
Więc tak: tabela links_categories ma kolumny: id to są właśnie kategorie (np. 001, 002, 003...) i podkategorie (np. 001001, 001002, 002001, 002002, 003001, 003002,...) title - wiadomo text - opis kategorii status - chwilowo nieprzydatny, ale jak będę chciał coś "ukryć to dam np. status 9 i spreparuję odpowiednio zapytanie, by pokazywało wszystko ale bez linków o statusie 9) Podkategorie składają się z sześciu cyfr i są określane w ten sposób, że pierwsze trzy cyfry to cyfry kategorii głównej, a trzy ostatnie to właściwa podkategoria, np: - skoro 001 to kategoria główna, to 001001 to kategoria podrzędna (czy też podkategoria). - skoro 020 to kategoria główna, to 020004 to jedna z podkategorii (020001,020002,020003,020004) Po prostu tworząc ten skrypt i tabelkę nie przewidziałem paru rzeczy i tak niestety musi zostać (uwierzcie mi - nie chciałoby się raczej nikomu przerabiać jednej tabeli z prawie 2300 rekordami ![]() Wracając do tego, co właściwe: Bez kodu, który zaproponował maniana, mając tylko "goły" kod, po wejściu w daną kategorię wyświetlam normalnie echo $id; i jest ono odpowiednie do tej kategorii. Oczywiście widzę wszystkie linki z kategorii głłównej. Lecz nie widzę tego, co próbowałem z marnym skutkiem przedstawić na (ekhm) "założeniu graficznym", które zamieściłem wyżej. Załóżmy, że w kategorii 001 mam dwie podkategorie (czyli 001001 i 001002) - niestety nie widać odnośników do tych dwóch podkategorii. Kombinuję coś w ten deseń: [php] $query_ = "SELECT * FROM links_categories WHERE id='$id%-%' LIKE '%-$id%-%'"; $result_ = mysql_query($query_); while($r_ = mysql_fetch_array($result_)){ $tid = $r_['id']; $tit = $r_['title']; } ale mimo tego, że id mam w porządku to jakoś zapytanie "nie łapie", że chodzi mi o wyświetlenie trzech ostatnich cyfr z aktualnie przeglądanej kategorii. Wiem, że to zamotane, jak ruski ogon - ale może ktoś pokojarzy... Jak ktoś będzie miał dłuższą chwilę, to może przez gadu... 1541788 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 44 Dołączył: 18.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz ID w stylu: 001, 002, 003... 001001, 001002, 002001, 002002, 003001, 003002 ... To nei złożysz zapytania tego typu: %-$id-% bo musiałbyś mieć ID: -001-, -002-
Przeorganizuje strukturę tabeli na taką: Cytat id | parent_id | title | text | status Wtedy niech id będzie dalej unikalnym numerem rekordu a parent_id będzie trzymał id rodzica... Wtedy kategorie główne będą miały parent_id równe 0. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:35 |