Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dwie te same pętle - jedna pomijana
Forum PHP.pl > Forum > Przedszkole
Deusx
Witam !

Ostatnio natknąłem się na małą łamigłówkę i nigdzie niepotrafiłem znaleźć odpowiedzi na następujące działanie:

Chcemy wyświetlić tabelę, której dane będą wyświetlane w jeden lini (z kilku róznych rekordów).
Inne dane w drugiej lini, więc mamy skrypt:

Prosty kod:

  1. <?php
  2.  
  3. $info = mysql_query('SELECY * FROM `tabela` WHERE `id` = x');
  4.  
  5. //pierwsza linia tabeli:
  6. while ($row = mysql_fetch_array($info)) {
  7. //tutaj kod, który się wykonuje, wypełnia tabelkę i działa poprawnie
  8. }
  9. //kod do formatowania tabelki
  10. //druga linia tabeli:
  11.  
  12. while ($row = mysql_fetch_array($info)) {
  13. //tutaj kod, który się NIE WYKONUJE, czy dam tutaj die() czy cokolwiek innego, ta pętla się nie wykonuje
  14. //zmiana $row na inną nazwę również daje zerowy efekt
  15. }
  16.  


Wykonałem to w inny sposób, whilem zebrałem dane do jeden zmiennej a następnie foreach powielałem, także nie chodzi mi o rozwiązanie, a o odpowiedź czemu PHP pomija drugą pętle.
ghost1511
A to nie jest przypadkiem tak że po wykonaniu pierwszego mysql_fetch_array w zmiennej $info nie masz już zasobu resource przyjmowanego jako argument tej funkcji?

Poza tym jaki jest cel wykonywania tego samego dwa razy?
vonski
Cytat
A to nie jest przypadkiem tak że po wykonaniu pierwszego mysql_fetch_array w zmiennej $info nie masz już zasobu resource przyjmowanego jako argument tej funkcji?


Sam zasób istnieje tylko jego wewnętrzny wskaźnik jest "poza" nim. Trzeba go po prostu wrócić na początek jeśli się chce nadal na nim pracować:

  1. mysql_data_seek($result, 0);


P.S.
Nie używaj mysql_* - używaj PDO! Od PHP 5.5 dostaniejsz już nawet komunikat 'Deprecated' przy próbie użycia tego rozszerzenia, a w przyszłości ma ono być całkiem usunięte.
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.