Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pętla While jako zmienna
vegeta
post 6.12.2010, 21:28:58
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


Chcę, aby pętla while była w zmiennej, ponieważ chcę zwrócić wynik tej pętli (pętla jest w funkcji).

  1. function generuj_chat()
  2. {
  3. (...)
  4.  
  5. $result_chat = while($wiersz=mysql_fetch_array ($wykonaj)) {
  6. echo "<b>".$wiersz["autor"]."</b>:
  7. ".$wiersz['tresc']."<br />";
  8. $zapytania++;
  9. }
  10.  
  11. return $result_chat;
  12. }


PHP wypluwa mi error: Parse error: syntax error, unexpected T_WHILE on line 12 (to linia z $result_chat = while($wiersz...)
Go to the top of the page
+Quote Post
hondek
post 6.12.2010, 21:35:35
Post #2





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Nieźle pomyślane... ale nic nie zwraca...
A co chcesz mieć w tej zmiennej?


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
vegeta
post 6.12.2010, 21:44:44
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


W tej zmiennej chce miec to co normalnie wyswietli mi ta petla (czyli w tym wypadku pobieranie z bazy X ilosci [ta x ilosc mam w zapytaniu, zeby nie bylo] ostatnich wiadomosci na shoutboxie).
Go to the top of the page
+Quote Post
Wicepsik
post 6.12.2010, 21:45:21
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. function generuj_chat()
  2. {
  3. $result_chat='';
  4.  
  5. while($wiersz=mysql_fetch_array ($wykonaj)) {
  6. $result_chat .= "<b>".$wiersz["autor"]."</b>:
  7. ".$wiersz['tresc']."<br />";
  8. $zapytania++;
  9. }
  10.  
  11. return $result_chat;
  12. }


--------------------
Go to the top of the page
+Quote Post
vegeta
post 6.12.2010, 22:44:03
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


Thx.
Go to the top of the page
+Quote Post
sadistic_son
post 6.12.2010, 23:45:28
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Lub jeśli chcesz aby $result_chat był tablicą, a każde powtórzenie pętli w oddzielnym elemencie:
  1. function generuj_chat()
  2. {
  3. $result_chat='';
  4. $i=0;
  5. while($wiersz=mysql_fetch_array ($wykonaj)) {
  6. $result_chat [$i]= "<b>".$wiersz["autor"]."</b>:
  7. ".$wiersz['tresc']."<br />";
  8. $zapytania++;
  9. $i++;
  10. }
  11.  
  12. return $result_chat;
  13. }


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
thek
post 7.12.2010, 00:02:28
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nigdy nie zrozumiem po co ludzie się upierają przy takiej kontrukcji jak powyżej winksmiley.jpg
Po co bezsensownie tworzyć $i, skoro jest ono niepotrzebne? Równie dobrze zamiast $result_chat[$i] można użyć $result_chat[] bo efekt identyczny smile.gif
Inna sprawa, że skoro $result_chat ma być w zwrocie tablicą, to nie inicjujemy jej $result_chat=''; ale $result_chat=array();
Jeśli to co w returnie pójdzie do obróbki do kolejnej funkcji, ktora spodziewa się tablicy, a w wyniku może otrzymać pusty string (brak rekordów w bazie) to mogą być jaja. Ja wiem, że wielu programistów ma gdzieś typowanie w PHP zdając się na konwersję w locie, ale nie zawsze ten mechanizm działa prawidłowo.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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.04.2025 - 05:45