Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Wyświetlanie drzewka kategorii i subkategorii, Jak to napisać w for()?
Manfred
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 21.03.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Witam,

Mam takie tabele:

tabela categories
  1. cat_id cat_name
  2. 1 Kategoria1
  3. 2 Kategoria2


tabela subcategories
  1. subcat_id subcat_name subcat_cat_id
  2. 1 Subkategoria1 1
  3. 2 Subkategoria2 2
  4. 3 Subkategoria3 1
  5. 4 Subkategoria4 2


Potrzebuję wyświetlić je w taki sposób:

Kategoria1
- Subkategoria1
- Subkategoria3
Kategoria2
- Subkategoria2
- Subkategoria4

Szczerze powiem, że nie mam pojęcia jak się do tego zabrać. Domyślam się tylko, że trzeba użyć pętli for(), ale nie wiem jak to skleić.

Z góry dziękuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Manfred
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 21.03.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Ok, mam taki kod:
  1. $select_cat = 'SELECT * FROM categories';
  2. $select_cat_res = mysql_query($select_cat)
  3.  
  4. $select_subcat = 'SELECT * FROM subcategories'
  5. $select_subcat_res = mysql_query($select_subcat)
  6.  
  7.  
  8. function sql_results($sql, $echo = 0, $errNo = "")
  9. {
  10. if ($echo == 0) {
  11. switch (substr($sql, 0, stripos($sql, " "))) {
  12. case 'SELECT': {
  13. $sql_q = mysql_query($sql)or die($errNo . "<br />\n" . $sql . "<br>\n" . mysql_error());
  14. while ($row = mysql_fetch_assoc($sql_q)) {
  15. extract ($row);
  16. $ro[] = $row;
  17. }
  18. return $ro;
  19. }
  20.  
  21. default: {
  22. $sql_q = mysql_query($sql)or die($errNo . "<br />\n" . $sql . "<br>\n" . mysql_error());
  23. break;
  24. }
  25. }
  26. } elseif ($echo == 1) {
  27. echo $sql;
  28. }
  29. }
  30.  
  31. print_r(sql_results($select_cat)); // pomocnicze
  32. $tabcat = sql_results($select_cat);
  33. echo "<br />";
  34.  
  35. print_r(sql_results($select_subcat)); // pomocnicze
  36. $tabsubcat = sql_results($select_subcat);
  37. echo "<br />";
  38.  
  39.  
  40. $ilecat = count($tabcat);
  41. $ilesubcat = count($tabsubcat);
  42.  
  43.  
  44. for ($i=0; $i <$ilecat; $i++)
  45. {
  46. echo $tabcat[$i][cat_name].'<br />';
  47. }
  48.  


i to mi wyświetla:
Kategoria1
Kategoria2

W jaki sposób dodać tam podkategorie? Próbowałem tam pakować kolejną pętle w pętli, ale się sypało.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:50