Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Pętla w pętli
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


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?
Go to the top of the page
+Quote Post
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Na 99% masz błąd w zapytaniu.


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


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
Go to the top of the page
+Quote Post
legorek
post
Post #4





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


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.

Ten post edytował legorek 6.06.2008, 19:56:24


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


już działa thx
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 Aktualny czas: 21.08.2025 - 19:43