Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z petlą...
Ania-678
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


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
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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=


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Ania-678
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


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

Ten post edytował Ania-678 18.07.2007, 08:52:20
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
LEW21
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 31.01.2007

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


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


Ten post edytował LEW21 18.07.2007, 09:40:27


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
Ania-678
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


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.

Ten post edytował Ania-678 18.07.2007, 10:54:09
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Ania-678
post
Post #8





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


Ano faktycznie, nie zauważyłam tongue.gif

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

Bo jakoś i bez tego Mi działa...
Go to the top of the page
+Quote Post
jarrod
post
Post #9





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


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
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 Aktualny czas: 19.08.2025 - 07:26