Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podzial na dowolna ilosc kategorii i podkategorii
mihaup
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 2.11.2006

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


Witam,

od dwoch dni usiluje zrobic podział na kategorie z dowolna iloscia podkategorii w php + mysql, ktore bede mogl potem wyswietlic za pomoca list w html.
Jestem po lekturze:
- Drzewa w php i MySQL, ZYX: http://artykuly.zyxist.com/czytaj.php/drzewa_w_php_i_mysql
- Storing Hierarchical Data in a Database, Gijs Van Tulder: http://www.sitepoint.com/article/hierarchical-data-database
- Drzewka w php, http://wortal.php.pl/phppl/wortal/artykuly...ny_wyglad_klasy

Artykuły te są dla mnie zrozumiałe, lecz chce po pobraniu dane, ktore mam w takiej postaci:
( wciecia sa robione za pomoca str_repeat() w w/w artach. )
-root
-sub1
--sub1.1
--sub1.2
---sub1.2.1
-sub2
--sub2.1

chce sformatowac do html:
  1. <ul>
  2. <li>Sub1
  3. <ul>
  4. <li>sub1.1</li>
  5. <li>sub1.2</li>
  6. </ul>
  7. </li>
  8. <li>sub2
  9. <ul><li>sub2.1</li></ul>
  10. </li>
  11. </ul>
  12. </li>
  13. </ul>


Jakies pomysly na rozwiazanie mojego problemu? Jak Wy rozwiazujecie tego typu problem? Z gory dzieki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ziels
post
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Rekurencja? Iteracja ze stosem?

Struktura mysql:
Kod
+-----+----+------+
| Title | ID | IDUP |
+-----+----+------+
|  coś |  1  |  def  |
| inne |  2  |  1    |
| bla   |  3  |  2    |
| blab |  4  |  3    |
+-----+----+------+


  1. <?php
  2. function pobierz($zapytanie){
  3.  
  4. $ret = '<ul>';
  5. while($row = mysql_fetch_array($zapytanie)){
  6.  $ret .= '<li>' . $row['title'] . '</li>';
  7.  if( mysql_fetch_array( mysql_query("SELECT * FROM baza WHERE idup = '" . $row['id'] . "' ") ){
  8. pobierz(mysql_query("SELECT * FROM baza WHERE idup = '" . $row['id'] . "'"));
  9.  }
  10. }
  11. $ret .= '</ul>';
  12.  
  13.  
  14. return $ret;
  15. }
  16.  pobierz(mysql_query("SELECT * FROM baza WHERE idup = 'def'"));
  17. ?>


Pisane z palca, nie wiem czy działa ;p

Ten post edytował Ziels 26.11.2006, 20:04:22
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: 13.10.2025 - 23:47