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
mihaup
post
Post #2





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

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


Hej,
dzieki za pomoc Ziels. Ostatecznie funkcja wygląda:

  1. <?php
  2. public function getHtml($parentId, $ret='') {
  3.  
  4. $ret .= '<ul>';
  5. $sql = "SELECT * FROM kategorie WHERE parentId = $parentId";
  6. $query = $this->CI->db->query($sql);
  7. $result = $query->result();
  8. foreach($result as $row) {
  9. $ret .= "n<li class=''>" . $row->title;
  10.  
  11. $sql = "SELECT COUNT(id) as ile FROM kategorie WHERE parentId = $row->id";
  12. $query = $this->CI->db->query($sql);
  13. $ile = $query->row();
  14. $ile = $ile->ile;
  15. if($ile ){
  16. $this->getHtml($row->id, &$ret);
  17.  }
  18.  $ret .= '</li>';
  19. }
  20. $ret .= '</ul>';
  21.  
  22. return $ret;
  23. }
  24. ?>


Zapytania tak a nie inaczej, bo dla FW CodeIgniter ;-)
w MySQL tabela:
kategorie(id, title, parentId).
Pozdrawiam i jeszcze raz dzieki.
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: 14.10.2025 - 03:58