Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]"Wychodzenie" zmiennych poza while()
sadistic_son
post 24.02.2010, 05:17:49
Post #1





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

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


Zastanawiam się nad pewną właściwością pętli while.
Mamy taki kodzik:
  1. while($row=mysql_fetch_array($result,MYSQL_NUM)){
  2. $zmienna=$row[0];
  3. }
  4. echo $zmienna;
Ten kod nie wyświetli nic.
Natomiast jeśli zrobimy tak:
  1. while($row=mysql_fetch_array($result,MYSQL_NUM)){
  2. $zmienna=$row[0];
  3. }
  4. $zmienna222=$zmienna;
  5. echo $zmienna222;
to wtedy wyświetli się ostatnia wartość $row[0].
Wiecie dlaczego tak jest? Czy to celowe działanie tej pętli czy przypadkowe? Ma to coś na celu?

Ten post edytował sadistic_son 24.02.2010, 06:30:37


--------------------
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
mortus
post 24.02.2010, 06:37:52
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Zrobiłem szybko mały teścik.
  1. <?php
  2. $connection = mysql_connect('localhost', '***', '***');
  3. $database = mysql_select_db('***');
  4. $sql = "SELECT * FROM liczby WHERE 1";
  5. $result = mysql_query($sql);
  6. while($row = mysql_fetch_array($result, MYSQL_NUM)) {
  7. $zmienna = $row[0];
  8. echo $zmienna . '<br />';
  9. }
  10. echo '- ' . $zmienna . '<br />';
  11. $zmienna222 = $zmienna;
  12. echo '- ' . $zmienna222 . '<br />';

W tabeli liczby mam dwa pola: id i liczba. Tabele wypełniłem 11 liczbami (1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0). I oto wynik:

Jak widać do zmiennej $zmienna zostaje przypisana ostatnia wartość $row[0]. Pewnie tak ma być smile.gif
EDIT:
Nie wiem dlaczego tobie nie zadziałało echo $zmienna; zaraz po pętli while, bo mnie działa.

Ten post edytował mortus 24.02.2010, 06:40:03
Go to the top of the page
+Quote Post
sadistic_son
post 24.02.2010, 06:52:53
Post #3





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

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


Kurde no dziwna sprawa. I Twój i mój przykład zaczęły działać po restarcie kompa, czyli pewnie po restarcie apacha.
Ale taki bug? No nie domyśliłby się człowiek.
Anyway... THX.


--------------------
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

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: 13.07.2025 - 06:45