Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z petlą...
Forum PHP.pl > Forum > Przedszkole
Ania-678
Witam.

Problemik jest taki, mam skrypt:

  1. <?php
  2.  
  3. $ek= $db -> Execute("SELECT * FROM ek WHERE on='1'");
  4.  
  5. $i = 0;
  6.  
  7. while (!$ek-> EOF)
  8. {
  9.  
  10.  if ($ek-> fields['type'] == '0')
  11. {
  12. $a = $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  13. $i = ($i + 1);
  14. }
  15. elseif ($ek-> fields['type'] == '1')
  16. {
  17. $b = $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  18. $i = ($i + 1);
  19. }
  20. elseif ($ek-> fields['type'] == '2')
  21. {
  22. $c = $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  23. $i = ($i + 1); 
  24. }
  25. $ek-> MoveNext();
  26. }
  27. $ek-> Close();
  28.  
  29. echo "<b>A</b><br />".$a;
  30. echo "<br />";
  31. echo "<b>B</b><br />".$b;
  32. echo "<br />";
  33. echo "<b>C</b><br />".$c;
  34. echo "<br />";
  35.  
  36. ?>


I problem jest z wyświetlaniem tych echo na końcu, tzn wyświetlają tylko JEDEN obiekt z pętli i nie wiem co źle czynię... sadsmiley02.gif
nospor
No przeciez to echo jest poza pętlą. Chcesz wszystko wyswietlic to echo ma byc w petli

przenosze

edit: a jesli ty chcialas w petli sumowac te stringi to powinnas robic $a.= a nie $a=
Ania-678
  1. <?php
  2.  
  3. $ek= $db -> Execute("SELECT * FROM ek WHERE on='1' ");
  4.  
  5. $i = 0;
  6.  
  7. while (!$ek-> EOF)
  8. {
  9.  
  10.  if ($ek-> fields['type'] == '0')
  11. {
  12. $echo = $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  13. $i = ($i + 1);
  14. }
  15. elseif ($ek-> fields['type'] == '1')
  16. {
  17. $echo = $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  18. $i = ($i + 1);
  19. }
  20. elseif ($ek-> fields['type'] == '2')
  21. {
  22. $echo $ek-> fields['id']."<b>".$ek-> fields['type']."</b>".$ek-> fields['rodzaj']."<br />";
  23. $i = ($i + 1); 
  24. }
  25. $ek-> MoveNext();
  26. }
  27. $ek-> Close();
  28.  
  29. ?>


Robiłam też tak i PRAWIE jest wszystko dobrze tyle że wszystko się listuje "w kupie" i byle jak...
  1. <?php
  2. fields['type'] == '0'
  3. fields['type'] == '0'
  4. fields['type'] == '2'
  5. fields['type'] == '0'
  6. fields['type'] == '1'
  7. fields['type'] == '1'
  8. fields['type'] == '2'
  9. fields['type'] == '0'
  10. itd...
  11. ?>


A Ja właśnie chcę to jakoś rozdzielić mniej więcej na ten sposób:

  1. <?php
  2. <br />A<br >
  3. fields['type'] == '0'
  4. fields['type'] == '0'
  5. fields['type'] == '0'
  6. fields['type'] == '0'
  7. <br />B<br >
  8. fields['type'] == '1'
  9. fields['type'] == '1'
  10. <br />C<br >
  11. fields['type'] == '2'
  12. fields['type'] == '2'
  13. itd...
  14. ?>


I nie wychodzi Mnie...
nospor
a co to za kwiatki:
$echo =
?

No nic. No ci nie wychodzi bo trzeba dane posortowac: .... order by type
  1. <?php
  2. $ek= $db -> Execute("SELECT * FROM ek WHERE on='1' order by type");
  3. ?>
LEW21
W tej wersji, co ją wkleiłaś na początku, zamiast
  1. <?php
  2. $a = 
  3. (...)
  4. $b = 
  5. (...)
  6. $c =
  7. ?>

Użyj
  1. <?php
  2. $a .= 
  3. (...)
  4. $b .= 
  5. (...)
  6. $c .=
  7. ?>

I gdzieś na początku dopisz:
  1. <?php
  2. $a = $b = $c = '';
  3. ?>
Ania-678
Sorki, ale tam było echo nie $echo, bo na szybko to było i potem dopiero zauważyłam i nie zmodyfikowałam posta Swego.

Cytat(LEW21 @ 18.07.2007, 10:37:25 ) *
W tej wersji, co ją wkleiłaś na początku, zamiast

(...)



Działa biggrin.gif
Dziękuje bardzo za pomoc.
nospor
kurka, no przeciez o tym juz pisalem pare postow wczesniej:
Cytat
a jesli ty chcialas w petli sumowac te stringi to powinnas robic $a.= a nie $a=
blinksmiley.gif
Ania-678
Ano faktycznie, nie zauważyłam tongue.gif

A po co to -> $a = $b = $c = ''; ?

Bo jakoś i bez tego Mi działa...
jarrod
to jest zadeklarowanie zmiennych. Generalnie nic się nie dzieje ale jak użyjesz funkcji
  1. <?php
  2. error_reporting(E_NOTICE);
  3. ?>

To pojawi ci się komunikat że te zmienne nie zostały zadeklarowane.
Poza tym to dobra praktyka deklaracja zmiennych winksmiley.jpg
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.