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%)
-----


Mam już działający kod.

Gdyby ktoś potrzebował:

  1. $select_cat = 'SELECT * FROM categories';
  2.  
  3. function sql_results($sql, $echo = 0, $errNo = "")
  4. {
  5. if ($echo == 0) {
  6. switch (substr($sql, 0, stripos($sql, " "))) {
  7. case 'SELECT': {
  8. $sql_q = mysql_query($sql)or die($errNo . "<br />\n" . $sql . "<br>\n" . mysql_error());
  9. while ($row = mysql_fetch_assoc($sql_q)) {
  10. extract ($row);
  11. $ro[] = $row;
  12. }
  13. return $ro;
  14. }
  15.  
  16. default: {
  17. $sql_q = mysql_query($sql)or die($errNo . "<br />\n" . $sql . "<br>\n" . mysql_error());
  18. break;
  19. }
  20. }
  21. } elseif ($echo == 1) {
  22. echo $sql;
  23. }
  24.  
  25. }
  26.  
  27. $cat_tab = sql_results($select_cat);
  28.  
  29.  
  30. for ($i = 0; $i < count($cat_tab); $i++) {
  31. $subcat_name = sql_results('SELECT * FROM subcategories WHERE subcat_cat_id = "' . $cat_tab[$i]['cat_id'] . '"');
  32.  
  33. echo $cat_tab[$i]['cat_name'] . '<br />';
  34.  
  35. for ($a = 0; $a < count($subcat_name); $a++) {
  36. echo $subcat_name[$a]['subcat_name'] . '<br />';
  37. }
  38. echo "<br />";
  39. }
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: 11.10.2025 - 08:53