Mam takie tabele:

  1. --
  2. -- Struktura tabeli dla `kategorie`
  3. --
  4.  
  5. CREATE TABLE `kategorie` (
  6. `id` int(11) NOT NULL AUTO_INCREMENT,
  7. `nazwa` varchar(255) NOT NULL DEFAULT '',
  8. PRIMARY KEY (`id`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=10 ;
  10.  
  11. --
  12. -- Zrzut danych tabeli `kategorie`
  13. --
  14.  
  15. INSERT
  16. INTO `kategorie`
  17. VALUES (6, 'Karnisze metalowe 25');
  18. INSERT
  19. INTO `kategorie`
  20. VALUES (5, 'Karnisze metalowe 16');
  21. INSERT
  22. INTO `kategorie`
  23. VALUES (7, 'Karnisze drewniane');
  24. INSERT
  25. INTO `kategorie`
  26. VALUES (8, 'Karnisze plastikowe');
  27.  
  28. -- --------------------------------------------------------
  29.  
  30. --
  31. -- Struktura tabeli dla `podkategorie`
  32. --
  33.  
  34. CREATE TABLE `podkategorie` (
  35. `id` int(11) NOT NULL AUTO_INCREMENT,
  36. `kategoria` varchar(255) NOT NULL DEFAULT '',
  37. `nazwa` varchar(255) NOT NULL DEFAULT '',
  38. PRIMARY KEY (`id`)
  39. ) TYPE=MyISAM AUTO_INCREMENT=12 ;
  40.  
  41. --
  42. -- Zrzut danych tabeli `podkategorie`
  43. --
  44.  
  45. INSERT
  46. INTO `podkategorie`
  47. VALUES (1, 'Karnisze metalowe 16', 'rura gładka');
  48. INSERT
  49. INTO `podkategorie`
  50. VALUES (2, 'Karnisze metalowe 16', 'rura ryflowana');
  51. INSERT
  52. INTO `podkategorie`
  53. VALUES (3, 'Karnisze metalowe 16', 'wsporniki');
  54. INSERT
  55. INTO `podkategorie`
  56. VALUES (4, 'Karnisze metalowe 16', 'zakończenia');
  57. INSERT
  58. INTO `podkategorie`
  59. VALUES (5, 'Karnisze metalowe 25', 'rura gładka');
  60. INSERT
  61. INTO `podkategorie`
  62. VALUES (6, 'Karnisze metalowe 25', 'rura ryflowana');
  63. INSERT
  64. INTO `podkategorie`
  65. VALUES (7, 'Karnisze metalowe 25', 'wsporniki');
  66. INSERT
  67. INTO `podkategorie`
  68. VALUES (8, 'Karnisze metalowe 25', 'zakończenia');
  69. INSERT
  70. INTO `podkategorie`
  71. VALUES (9, 'Karnisze drewniane', 'pojedyńcze');
  72. INSERT
  73. INTO `podkategorie`
  74. VALUES (10, 'Karnisze drewniane', 'podwójne');
  75. INSERT
  76. INTO `podkategorie`
  77. VALUES (11, 'Karnisze plastikowe', 'Karnisze plastikowe');
  78.  
  79. -- --------------------------------------------------------
  80.  
  81. --
  82. -- Struktura tabeli dla `produkty`
  83. --
  84.  
  85. CREATE TABLE `produkty` (
  86. `id` int(11) NOT NULL AUTO_INCREMENT,
  87. `kategoria` varchar(255) NOT NULL DEFAULT '',
  88. `podkategoria` varchar(255) NOT NULL DEFAULT '',
  89. `nazwa` varchar(255) NOT NULL DEFAULT '',
  90. `opis1` text NOT NULL,
  91. `opis2` text NOT NULL,
  92. PRIMARY KEY (`id`)
  93. ) TYPE=MyISAM AUTO_INCREMENT=53 ;
  94.  
  95. --
  96. -- Zrzut danych tabeli `produkty`
  97. --
  98.  
  99. INSERT
  100. INTO `produkty`
  101. VALUES (47, '', '', 'Strona w budowie - wpis testowy', 'Ta strona jest w trakcie budowy. To co teraz widzisz to jedynie wpis testowy.<br>', 'Ta strona jest w trakcie budowy. To co teraz widzisz to jedynie wpis testowy.<br>');
  102. INSERT
  103. INTO `produkty`
  104. VALUES (51, 'Karnisze metalowe 16', 'rura gładka', 'Karnisze plastikowe', '', '');
  105. INSERT
  106. INTO `produkty`
  107. VALUES (50, '', '', 'coś tam', '', '');
  108. INSERT
  109. INTO `produkty`
  110. VALUES (52, 'Karnisze drewniane', 'pojedyńcze', 'Karnisze drewniane', '', '');



Chcę na podstawie tych tabel stworzyć menu na takiej zasadzie:

> kategoria 1
podkategoria 1
podkategoria 2
podkategoria 3
> kategoria 2
podkategoria 1
podkategoria 2

Nie umiem dobrze skonstruować zapytań, i formy wyświetlania, próbowałem zrobic coś takiego:

  1. <?php
  2. $sql = "SELECT * FROM kategorie";
  3. $wynik = mysql_query($sql);
  4. while ($rez = mysql_fetch_array($wynik)) {
  5. echo "".$rez['nazwa']."<br>";
  6. $kat = $rez['nazwa'];
  7. $sql = "SELECT * FROM podkategorie WHERE kategoria='$kat'";
  8. $wynik = mysql_query($sql);
  9. while ($rez = mysql_fetch_array($wynik)) {
  10. echo "&nbsp;&nbsp;&nbsp;".$rez['nazwa']."<br>";
  11. }
  12. echo "<br>";
  13. }
  14. ?>


ale wyśietla tylko jedna kategorię ale podkategorie dla tej kategori dobrze, jak to zrobić questionmark.gif