Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] zagnieżdżone pętle
Coolbob
post 10.10.2006, 11:05:08
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.10.2006

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


Witam!

Mam taki fragment kodu do tworzenia planu lekcji (oczywiście mam wcześniej zdefiniowaną funkcję sql):
  1. <?
  2. $plany=sql("select * from plany where klasa='$klasa' order by godz;");
  3. $przedm=sql("select nazwa from przedmioty;");
  4. $n=1;
  5. while($pl=mysql_fetch_row($plany))
  6. {
  7. print("
  8. <tr>
  9. <td>$pl[2]</td>
  10. <td><select name=\"pn$n\">
  11. <option>$pl[3]");
  12. while($pr=mysql_fetch_row($przedm))
  13. {print("<option>$pr[0]");}
  14. print("</select>");
  15. print("</td>
  16. <td><select name=\"wt$n\">
  17. <option>$pl[4]");
  18. while($pr=mysql_fetch_row($przedm))
  19. {print("<option>$pr[0]");}
  20. print("</select>");
  21. print("</td>
  22. <td><select name=\"sr$n\">
  23. <option>$pl[5]</option>");
  24. while($pr=mysql_fetch_row($przedm))
  25. {print("<option>$pr[0]</option>");}
  26. print("</select>");
  27. print("</td>
  28. <td><select name=\"cz$n\">
  29. <option>$pl[6]</option>");
  30. while($pr=mysql_fetch_row($przedm))
  31. {print("<option>$pr[0]</option>");}
  32. print("</select>");
  33. print("</td>
  34. <td><select name=\"pt$n\">
  35. <option>$pl[7]</option>");
  36. while($pr=mysql_fetch_row($przedm))
  37. {print("<option>$pr[0]</option>");}
  38. print("</select>");
  39. print("</td></tr>");
  40. $n++;
  41. }
  42. ?>

Problem polega na tym, że wykonywana jest tylko pierwsza zagnieżdżona pętla while a pozostałe są ignorowane:( Dlaczego tak się dzieje?

Ten post edytował Coolbob 10.10.2006, 11:20:31
Go to the top of the page
+Quote Post
nospor
post 10.10.2006, 11:15:12
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




bo pierwsza podpetla przelatuje przez caly wynik i zwraca false. kazda nastepna od razu otrzymuje false.
Albo musisz wyzerowac wskaznik (poszukaj w manualu), albo najpierw pobierz wszystko do tablicy, a potem wyswietlaj tablice a nie ciagle wyniki zapytania

proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 25.06.2025 - 09:32