Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Dane z bazy jako lista <ul><li>
@rtur
post 5.06.2011, 14:12:50
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


Witam pobrałem sobie dane z bazy Mysql i chciałbym je sobie wyświetlić jako lista

mam pola
  1. id|link|pole|name|parent_id
  2. 1|adres1.html|Tytul 1|0
  3. 2|adres2.html|Tytul 2|0
  4. 3|adres3.html|Tytul 3|0
  5. 4|adres4.html|Tytul 4|2
  6. 5|adres5.html|Tytul 5|0
  7. 6|adres6.html|Tytul 6|3

chciałbym taki kod wynikowy dostać:
  1. <ul>
  2. <li><a href="adres1.html">Tytul 1</a></li>
  3. <li><a href="adres2.html">Tytul 2</a><ul>
  4. <li><a href="adres4.html">Tytul 4</a></li></ul></li>
  5. <li><a href="adres3.html">Tytul 3</a><ul>
  6. <li><a href="adres6.html">Tytul 6</a></li></ul></li>
  7. <li><a href="adres5.html">Tytul 5</a></li>
  8. <ul>


Gdyby nie te dane z parent_id które tworzą pod menu to bym sobie poradził pewnie.
  1. $db= new db();
  2. echo '<ul>';
  3. if($db->connect()){
  4. $sql="SELECT * FROM menu";
  5. $results=$db->select($sql);
  6. while($dane=$db->fetcharray($results)){
  7. echo '<li><a href=\''.$dane['link'].'\'>'.$dane['name'].'</a></li>';
  8. }
  9. $db->close();
  10. } else{echo 'błąd';}
  11. echo '</ul>';

nie wiem jak zrobić aby te wiersze które mają parrent_id = któregoś id z głównej listy były wyświetlane jako pod lista w pozycji z tym id.

Mogę prosić o jakieś wskazówki jak mogę to zrobić?

Ten post edytował @rtur 5.06.2011, 14:14:46


--------------------
Artur
Go to the top of the page
+Quote Post
mat-bi
post 5.06.2011, 14:14:52
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


zapisz tablicę z elementami o danym id,np.

  1.  
  2. $tablica = array('1' => array('Element pierwszy', 'Element drugi'), '10' => array('Element siedemnasty'));
Go to the top of the page
+Quote Post
@rtur
post 5.06.2011, 14:35:11
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


hmm a coś więcej, nie bardzo rozumiem, co ma być Elementem 1, 2, 17, a co numerem 1 i 10 w tablicy?

coś w ten deseń?

  1. $tablica = array('.$dane['id'].' => array('.$dane['id'].', '.$dane['link'].', '.$dane['name'].', '.$dane['parent_id'].'));


--------------------
Artur
Go to the top of the page
+Quote Post
mat-bi
post 5.06.2011, 14:38:47
Post #4





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Robisz coś takiego

  1. $query = query("SELECT * FROM `tabela`");
  2.  
  3. $query = $query->fetch();
  4.  
  5. foreach($query as $kategoria)
  6. $kategorie[$kategoria['parent_id']][] = $kategoria;


Coś takiego się nada. Potem zwykły foreach i masz ponumerowane
Go to the top of the page
+Quote Post
@rtur
post 5.06.2011, 15:44:49
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


Chyba mi słońce za bardzo grzeje w głowę dziś bo nic nie rozumiem z tego co napisałeś sad.gif


--------------------
Artur
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.05.2025 - 07:32