Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Sortowanie tablic
Forum PHP.pl > Forum > Przedszkole
Oklejek
Witam, mam sobie taki kod
  1. $menu1 = mysql_query("SELECT * FROM `shopmenu` WHERE `owner` = 0");
  2.  
  3. echo '<ol id="shopmenu">';
  4. while($t = mysql_fetch_array($menu1)) {
  5. $menu2 = mysql_query("SELECT * FROM `shopmenu` WHERE `owner` = ".$t['id']);
  6. if(mysql_num_rows($menu2) > 0) $dol = ' class="dol"'; else $dol = '';
  7. echo '<li'.$dol.' onclick=wczytaj(\'div#content2\',\'include/oferty.php?id='.$t['id'].'\')><a>'.$t['nazwa'].'</a><ul>';
  8. echo '<li class="de">'.$t['opis'].'</li>';
  9. if(mysql_num_rows($menu2) > 0) {
  10. while($g = mysql_fetch_array($menu2)) {
  11. $menu3 = mysql_query("SELECT * FROM `shopmenu` WHERE `owner` = ".$g['id']);
  12. if(mysql_num_rows($menu3) > 0) {
  13. $prawo = ' class="dol"';
  14. $ol = '<ol>';
  15. } else {
  16. $prawo = '';
  17. $ol = '';
  18. }
  19. echo '<li'.$prawo.' onclick=wczytaj(\'div#content2\',\'include/oferty.php?id='.$g['id'].'\')><a>'.$g['nazwa'].'</a>'.$ol;
  20. if(mysql_num_rows($menu3) > 0) {
  21. while($h = mysql_fetch_array($menu3)) {
  22. echo '<li onclick=wczytaj(\'div#content2\',\'include/oferty.php?id='.$h['id'].'\')><a>'.$h['nazwa'].'</a></li>';
  23. }
  24. echo '</ol>';
  25. }
  26. }
  27. }
  28. echo '</ul></li>';
  29. }
  30. echo '</ol>';

Wykonuje się tu bez sesnu kilkadziesiąt zapytań do sql, bo menu jest 3-poziomowe. Mniemam, że jest możliwe posegregowanie tego wszystkiego za pomocą tablic zmiennych, tylko kompletnie nie wiem jak sie za to zabrac. Mógłby mi ktoś pomóc?
nospor
Alc... przy takiej strukturze nic madrego sie nie da wymyslic. Musisz pobrac wszystkie rekordy do tablicy php a potem rekurencyjnie je obrabiac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.