Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Pętla w pętli
Forum PHP.pl > Forum > PHP
Mlodycompany
Witam. Mam taki kodzik
  1. <?php
  2. $menu_kat = mysql_query("SELECT * FROM `menu_kat` ORDER BY `pozycja` ASC");
  3. while($row = mysql_fetch_array($menu_kat)){
  4. echo('
  5. <tr>
  6. <th class="kategoria">'.$row[1].'</th>
  7. </tr>
  8. ');
  9. $menu = mysql_query("SELECT * FROM `menu` WHERE `kategoria` = '".$row[0]."'");
  10. while($menu = mysql_fetch_array($menu)){
  11. echo('
  12. <tr>
  13. <th class="">'.$menu[1].'</th>
  14. </tr>
  15. ');
  16. }
  17. }
  18. ?>

i wyświetla mi error o treści Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\cms\home.php on line 49.
Tym kodem chcę osiągnąć coś takiego. Mam tabele gdzie są kategorie menu i drugą gdzie są pozycje w menu i danej kategorii. Chcę aby wyświetlało mi kategorie i pozycje do niej należące. W czym jest błąd?
legorek
Na 99% masz błąd w zapytaniu.
Mlodycompany
raczej nie bo jak kasuje druga petle tylko zostawiam mysql_fetch_array to działa bez błednie tylko pokazyje jedna pozycje a tych pozycji bedzie kilka
legorek
Przepraszam, faktycznie, nawet nie zajrzałem w Twój kod, bo zazwyczaj ten błąd oznacz błąd w zapytaniu.

Nie możesz zrobić tak:

  1. <?php
  2. while($menu = mysql_fetch_array($menu)){
  3. ?>


bo przy kolejnej iteracji menu nie jest już zasobem wyniku mysql tylko tablicą. Zrób np.

  1. <?php
  2. while($menuRow = mysql_fetch_array($menu)){
  3. ?>


I to był właśnie margines 1% z mojego poprzedniego posta.
Mlodycompany
już działa thx
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.