Autor | Zpráva | ||
---|---|---|---|
Lucyk Profil |
Prosím o pomoc s následujícím spojením více částí kódu.
Snažím se na stránky vytvořit stromový výpis, který by měl plnit následující účel: Při najetí na stránky se zobrazí seznam 1994-95 - Czech BOOK 1995-96 - Czech BOOK 1996-97 - Czech BOOK 1997-98 - Czech BOOK 1997-98 - Czech CD 1998-99 - Czech CD 1999-00 - Czech CD Když uživatel klikne na 1994-95 Czech BOOK, tak mu vyjede podseznam: 1994-95 - Czech BOOK - Kids 1994-95 - Czech BOOK - Woman 1994-95 - Czech BOOK - Man A pokud klikne na 1994-95 - Czech BOOK - Kids, tak mu vyjedou už např. samotné tituly: 1994-95 - Czech BOOK - Kids - Title 1 1994-95 - Czech BOOK - Kids - Title 2 1994-95 - Czech BOOK - Kids - Title 3 1994-95 - Czech BOOK - Kids - Title 4 1994-95 - Czech BOOK - Kids - Title 5 1994-95 - Czech BOOK - Kids - Title 6 Vše bych chtěla optimalizovat tak, aby se odehrávalo na jedné stránce, např. test.php Podařilo se mi vytvořit dva kódy, které by tomuto mohly odpovídat, ale už si nevím rady s tím, jak je propojit do "cyklu". O první dva výše uvedené případy se stará tato část kódu: <?php if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])){ $nazev = $_SERVER['QUERY_STRING']; $nazev_kategorie = $_SERVER['QUERY_STRING']; $serie = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']); $databaze="XXX"; $spojeni=mysql_connect("XXX","XXX","XXX"); $co="(XXX)"; mysql_select_db("XXX") or die( mysql_error() ); $navrat=mysql_query($co, $spojeni) or die(mysql_error()); echo ("<h3><center>vybral jsi --- $serie</center></h3>"); while (list($nazev,$nazev_kategorie,$nazev_podkategorie) = mysql_fetch_row($navrat)){ echo ("<a href=\"test.php?$nazev&$nazev_kategorie&$nazev_podkategorie\"><b></b>$nazev - $nazev_kategorie - $nazev_podkategorie</a></br>"); } } else { error_reporting(E_ALL); $localhost = "XXX"; $user = "XXX"; $password = "XXX"; $databaze = "XXX"; mysql_connect($localhost, $user, $password) or die("Nepodařilo se připojit k databázi"); mysql_select_db($databaze) or die("Nepodařilo se zvolit databázi"); $databaze="XXX"; $spojeni=mysql_connect("XXX","XXX","XXX"); $co="(XXX)"; mysql_select_db("XXX") or die( mysql_error() ); $navrat=mysql_query($co, $spojeni) or die(mysql_error()); while (list($nazev,$nazev_kategorie) = mysql_fetch_row($navrat)){ echo ("<a href=\"test.php?$nazev&$nazev_kategorie\"><b></b>$nazev - $nazev_kategorie</a></br>"); } } ?> Tzn. po najetí na stránku test.php se automaticky zobrazí základní první seznam a pokud bude uživatelem kliknuto na určitý název, tak se zobrazí "podseznam" a k této podmínce "podseznamu" nevím, jak zapracovat následující část kódu, která samostatně funguje: <?php if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])){ $nazev = $_SERVER['QUERY_STRING']; $nazev_kategorie = $_SERVER['QUERY_STRING']; $nazev_podkategorie = $_SERVER['QUERY_STRING']; $vypisuj = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']); $databaze="XXX"; $spojeni=mysql_connect("XXX","XXX","XXX"); $co="(XXX)"; mysql_select_db("XXX") or die( mysql_error() ); $navrat=mysql_query($co, $spojeni) or die(mysql_error()); echo ("<h3><center>vybral jsi --- $vypisuj</center></h3>"); while (list($nazev,$nazev_kategorie,$nazev_podkategorie,$title) = mysql_fetch_row($navrat)){ echo ("<a href=\"test.php?$nazev&$nazev_kategorie&$nazev_podkategorie\"><b></b>$nazev - $nazev_kategorie - $nazev_podkategorie - $title</a></br>"); } } else { PODMINKA KDYZ TO NEBUDE SPLNENO, treba opet zobrazeni hlavniho seznamu } ?> Děkuji za každou radu či připomínku. |
||
Hando Profil |
#2 · Zasláno: 13. 10. 2016, 14:39:32
Ahoj.
Mohu se zeptat, jakou strukturu má databáze? Pokud máš jednotlivé tituly uložené v tabulce, stejně tak máš tabulky kategorií (a samozřejmě propojovací tabulky), tak pak není problém si vytvořit podkategorie atd. a následně prostě vypisovat podle vybrané kategorie, ne? Stejně tak třídit podle data vydání. Mimochodem, mysql_funkce jsou zastaralé, není dobrý nápad je používat. |
||
Lucyk Profil |
#3 · Zasláno: 14. 10. 2016, 11:07:18
Mám to v jednotlivých tabulkách, na které mám udělané propojovací tabulky, takže něco takového:
ROK id_rok nazev 1 1994-95 2 1995-96 3 1996-97 4 1997-98 5 1998-99 6 1999-00 KATEGORIE id_kategorie nazev_kategorie 1 BOOK 2 CD 3 DVD PODKATEGORIE id_podkategorie nazev_podkategorie id_rok id_kategorie 1 Kids 2 Woman 3 Man Jednotlive tituly jsou pak v tabulce, která je komcipována id_titul id_podkategorie jmeno prijmeni nazev_titulu 1 2 Je tato struktura vhodná pro vytvoření stromového seznamu? Pod jakým názvem by se dal hledat "návod" na tento způsob větvení? |
||
Kcko Profil |
|||
Lucyk Profil |
#5 · Zasláno: 15. 10. 2016, 12:09:27
Tak to pak netuším jak udělat vhodnou strukturu jednotlivých tabulek, protože hlavní účel to má plnit následující:
po kliknutí na stránku test.php se má zobrazit seznam 1994-95 - Czech BOOK 1995-96 - Czech BOOK 1996-97 - Czech BOOK 1997-98 - Czech BOOK 1997-98 - Czech CD 1998-99 - Czech CD 1999-00 - Czech CD Po kliknutí na 1994-95 Czech BOOK se zobrazí podseznam: 1994-95 - Czech BOOK - Kids 1994-95 - Czech BOOK - Woman 1994-95 - Czech BOOK - Man A po kliknutí na 1994-95 - Czech BOOK - Kids vyjednou jednotlivé tituly. 1994-95 - Czech BOOK - Kids - Title 1 1994-95 - Czech BOOK - Kids - Title 2 1994-95 - Czech BOOK - Kids - Title 3 1994-95 - Czech BOOK - Kids - Title 4 1994-95 - Czech BOOK - Kids - Title 5 1994-95 - Czech BOOK - Kids - Title 6 V budoucnu se předpokládá přidávání nejen dalších titulů, ale také roků, další položky stejné úrovně jako je BOOK, CD a položky stejné úrovně Kids, Man, Woman. Ta první ukázka by se mi i zamlouvala, ale s tím, že pokud by uživatel kliknul na 1994-95 - Czech BOOK, tak už by se mu zobrazil jenom: 1994-95 - Czech BOOK - 1994-95 - Czech BOOK - Kids - 1994-95 - Czech BOOK - Woman - 1994-95 - Czech BOOK - Man A pokud by kliknul na 1994-95 - Czech BOOK - Kids, tak by se mu mohl zobrazit podseznam a ty stávající související seznamy v rámci skupiny, tzn. nějak takto: 1994-95 - Czech BOOK - 1994-95 - Czech BOOK - Kids --- 1994-95 - Czech BOOK - Kids - Title 1 --- 1994-95 - Czech BOOK - Kids - Title 2 --- 1994-95 - Czech BOOK - Kids - Title 3 - 1994-95 - Czech BOOK - Woman - 1994-95 - Czech BOOK - Man Ale teď si lámu hlavu nad tím, jak strukturovat jednotlivé tabulky a kolik jich udělat. Mým záměrem je udělat to, aby tento celý cyklus zobrazování jednotlivých seznamů probíhal v rámci jedné stránky a nemusela mít pro každý seznam ROK - BOOK (CD nebo DVD atd.) udělanou novou stránku. |
||
Časová prodleva: 8 let
|
0