Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]dlaczego moje "while" działa tylko raz?
Forum PHP.pl > Forum > Przedszkole
r--x
Wiem, że gdyby był tutaj dział "żłobek" to powinienem w nim zadać to pytanie smile.gif
Stawiam pierwsze kroki w php i mysql więc proszę o wybaczenie, że nawet nie mam pojęcia
jak zadać pytanie wyszukiwarce (chodzi o treść pytania oczywiście), jedynym wyjściem jest napisanie tego postu.

mam mój pierwszy kod:

  1. <?PHP
  2. /* łączenie z bazą */
  3. $link = mysql_connect("localhost","user","password");
  4. mysql_select_db("dbname");
  5.  
  6. /* zapytania do bazy w tabeli "users" */
  7. $query = 'SELECT * FROM users';
  8. $results = mysql_query($query);
  9.  
  10. /* komunikat w razie błędów */
  11.  
  12. /* tworzenie XMLa */
  13. echo "<?xml version=\"1.0\"?>\n";
  14.  
  15. echo "<users>\n";
  16. while($line = mysql_fetch_array($results)) {
  17. echo "<username>" . $line["username"] . "</username>\n";
  18. }
  19. echo "<users>\n";
  20.  
  21. echo "<levels>\n";
  22. while($line = mysql_fetch_array($results)) {
  23. echo "<level>" . $line["level"] . "</level>\n";
  24. }
  25. echo "<levels>\n";
  26.  
  27. /* zamykanie połączenia z bazą */
  28. mysql_close($link);
  29.  
  30. ?>


W tym kodzie działa tylko pierwsze "while" dotyczące pola "username" w tabeli "users".
drugie "while" z pola "level" nie tworzy mi linii z zawartością.

Jeśli w pierwszym while zmienię "username" na "level" to działa, bo w bazie istnieje to pole...

Proszę niekoniecznie o konkretne wskazanie błędu jaki popełniam, może być naprowadzenie mnie gdzie i czego szukać!

P.S.
Dlaczego po zarejestrowaniu wszystkie treści na tym forum mam wycentrowanequestionmark.gif
Da się to jakoś zmienić?
everth
Bo robisz drugą pętlę na już przetworzonym wyniku. Wstaw pomiędzy pierwszym a drugim while
  1. @mysql_data_seek ($results, 0);
r--x
Nigdy bym na to nie wpadł, dziękuję stukrotnie, oczywiście działa smile.gif

Edit:
Czy jeśli przy tworzeniu XMLa musiałbym używać pętli kilkaset razy to
za każdym razem muszę stosować

@mysql_data_seek ($results, 0);

czy jest może lepsze wyjście?

P.S.
Czy ktoś wie, co zrobić z tym zcentrowanym tekstem? Wszystko jest skrajnie nieczytelne...
Zaznaczam, że KAŻDE inne forum działa bez zarzutu...
Mam Firefox 3.6.8...
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.