ďťż
Podstrony
|
telcocafeWitam !Mam taki problem. Próbuję zrobić na stronie menu z podkategoriami, wszystko ma być oparte na php i mySQL. Ma to wyglądać w ten sposób: Kategoria 1 - link1 - link2 - link3 Kategoria 2 - link4 - link5 Kategoria 3 - link6 itd. Stworzyłem sobie w bazie 2 tabele menu_kategorie i menu_sub_kategorie W tabeli menu_kategorie mam nazwa_kategorii id_kategori w tabeli menu_sub_kategorie mam nazwa_sub_kategorii id_sub_kategorii no i wszystko wydaje się być ok ale... jak ma wyglądać kod php który to poprawnie wyświetli (czyli tak jak napisałem wyżej). Dodam że wiem jak pobrać i wyświetlić dane z bazy, ale nie mam żadnego pomysłu jak stworzyć coś takiego jak wyżej. Ale skąd skrypt ma wiedzieć w której kategorii ma być subkategoria? W tabeli menu_sub_kategorie dodaj pole id_kategori, odpowiadające temu z tabeli kategorie. Użytkownik mmatheww edytował ten post 06 marzec 2006, 12:24 no dobra dodałem ale i tak nie zbliżyło mnie to do rozwiązania problemu. no i teraz biezesz pierwsza kategorie, i robisz petle w ktorej drukujesz wszystkie podkategorie ktore maja id kategorii pasujacy. pozniej drukujesz druga kat, i znowu podkategorie. IMHO to może być tak $db=mysql_pconnect('host', 'login, 'haslo'); mysql_select_db("baza"); $zapytanie="select * from `menu_kategorie`"; $wynik=mysql_query($zapytanie); $ile=mysql_num_rows($wynik); for ($id=0; $id<$ile; $id++) { $wiersz=mysql_fetch_array($wynik); echo '<a href=index.php?kategoria='.$wynik[id_kategorii].'>'.$wynik[nazwa_kategorii] .'</a><br>'; // tu wyedytuj sobie odnosnik $zapytanie2="select * from `menu_sub_kategorie` where `id_kategorii` = '$wynik[id_kategorii]'"; $wynik2=mysql_query($zapytanie2); $ile2=mysql_num_rows($wynik2); for ($id2=0; $id<$ile2; $id2++){ $wiersz2=mysql_fetch_array($wynik2); echo '- <a href=index.php?sub_kategoria='.$wynik2[id_sub_kategorii].'>'.$wynik2[ nazwa_sub_kategorii].'</a><br>'; // tu wyedytuj sobie odnosnik'' } } Niestety kod nie działa (próbowałem trochę pozmieniać ale nic to nie dało) Próbowałem też z czymś takim: <?php $querry=mysql_query("SELECT * FROM menu_kategorie"); if(!empty($querry)){ while($row=mysql_fetch_array($querry)){ $nk=$row["nazwa_kategorii"]; $idk=$row["id_kategorii"]; echo "<b>"; echo "$nk"; echo "</b><br>"; } } $querry=mysql_query("SELECT * FROM menu_sub_kategorie WHERE id_kategorii=$idk"); if(!empty($querry)){ while($row=mysql_fetch_array($querry)){ $nsk=$row["nazwa_sub_kategorii"]; echo "- "; echo"$nsk"; echo "<br>"; } } ?> kod wyświetla wszystkie kategorie, ale nie wyświetla podkategorii, tzn. wyświetla tylko ostatnie podkategorie. Czyli jeśli mam id podkategorii 1 i 2 to wyświetli tylko te z id 2 wyświetla coś takigo: kategoria 1 kategoria 2 - link4 - link5 Użytkownik pit83 edytował ten post 06 marzec 2006, 14:32 Witam ! Mam taki problem. Próbuję zrobić na stronie menu z podkategoriami, wszystko ma być oparte na php i mySQL. Ma to wyglądać w ten sposób: Kategoria 1 - link1 - link2 - link3 Kategoria 2 - link4 - link5 Kategoria 3 - link6 itd. Stworzyłem sobie w bazie 2 tabele menu_kategorie i menu_sub_kategorie W tabeli menu_kategorie mam nazwa_kategorii id_kategori w tabeli menu_sub_kategorie mam nazwa_sub_kategorii id_sub_kategorii no i wszystko wydaje się być ok ale... jak ma wyglądać kod php który to poprawnie wyświetli (czyli tak jak napisałem wyżej). Dodam że wiem jak pobrać i wyświetlić dane z bazy, ale nie mam żadnego pomysłu jak stworzyć coś takiego jak wyżej. Niestety kod nie działa Czy może to być skrypt w JS? Bardzo łatwo napisać taki skrypt w JS. Jeśli może to daj znać - jak będe miał czas to pomogę nie, chciałbym żeby to było w php Kiedy wklejam ten kod to nic się nie dzieje, nic nie jest wyświetlane. Kiedy zmienię znaki "`" na apostrofy " ' " otrzymuję komunikat: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\strona\index.php on line 63 Próbowałem już różnych kombinacji z tym kodem i nic, zawsze otrzymuję komunikat o błędzie albo żadne dane nie są wyświetlane. //edit No jakoś sobie poradziłem, tzn. skopiowałem fragment innego skryptu i lekko go przerobiłem. :) Mam teraz coś takiego: <?php // zapytanie do bazy pobranie kategorii głównych $query = "SELECT * FROM menu_kategorie"; $result = mysql_query($query); // wyświetlenie wyników while($row= mysql_fetch_assoc($result)) { echo "$row[nazwa_kategorii]<br>"; //zapytanie do bazy pobranie podkategorii $query2 = "SELECT * FROM menu_sub_kategorie WHERE id_kategorii=$row[id_kategorii]"; $result2 = mysql_query($query2); //pobranie i wyświetlenie wyników while($row2= mysql_fetch_assoc($result2)) { echo "$row2[nazwa_sub_kategorii]<br>"; } } ?> Użytkownik pit83 edytował ten post 06 marzec 2006, 23:18 |
|||
Sitedesign by AltusUmbrae. |