Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Prosta pętla for
Forum PHP.pl > Forum > Przedszkole
martinii007
Witam,

W poniższym kodzie jest pętla for, lecz nie spełnia ona swojej funkcji. Będzie wyświetlanych 5 wierszy i przed każdym z nich powinna być następująca informacja:
Wydarzenie nr. 1
Wydarzenie nr. 2 itd.




  1. foreach($wydarzenia as $record) {
  2.  
  3. echo'
  4.  
  5. <form id="ajax-form" class="autosubmit" method="POST" action="./ajax-update.php">
  6.  
  7. <table border="0" cellpadding="0" cellspacing="0" id="id-form">';
  8. for ($i=1; $i<5; $i++){
  9. echo'<tr>
  10. <th valign="top">Tytuł wydarzenia:' .$i.' </th>
  11. <td><input type="text" class="inp-form" name="title" value=' .$record['title'].' /></td>
  12. <td></td>
  13. </tr>';
  14. }
  15. echo'<tr>
  16. <th valign="top">Tekst wydarzenia:</th>
  17. <td><textarea rows="" cols="" name="text">'.$record['text'].'</textarea></td>
  18. <td></td>
  19. </tr>
  20. <input id="where" type="hidden" name="id" value=' . $record['id'].' />
  21. </table>
  22. </form>';
  23. }
nospor
Skoro chcesz miec TEKST WYDARZENIA w petli to czemu dajesz to po petli a potem sie dziwisz ze jest na samym koncu?

ps: i po co w ogole ten FOR? Przeciez wydarzenia masz w FOREACH. Wywal ten FOR
martinii007
No bo najpierw ma się wykonać pętla foreach, która zczyta informacje z bazy danych w postaci:

<form>
nr. x
Tytuł wydarzenia
Tekst wydarzenia
</form>

Znaczników form będzie 5 bo mam ustawiony Limit w bazie. No i do każdego form'a pętla for ma przypisać określony nr.

Oczywiście jak dam pętlę w to miejsce to również nic to mi nie da bo wyświetli 1234:

  1. <table border="0" cellpadding="0" cellspacing="0" id="id-form">';
  2. for ($i=1; $i<5; $i++){
  3. echo'' .$i.'';
  4. }
  5. echo'<tr>
  6. <th valign="top">Tytuł wydarzenia: </th>
nospor
Ciagle nie rozumiem po co ta petla FOR? Czemu ona ma sluzyc?

Przeciez na obrazku widac wyraznie, ze chcesz dla kazdego wydarzenia miec TYTUL oraz TEKST. To wszystko masz dzieki FOREACH, ktrore iteruje po wydarzeniach. Po co wec to FOR?
martinii007
Masz rację, chyba źle określiłem po co mi ta pętla:

Pętla for ma przypisać do każdego przebiegu pętli foreach numer.
Za pomocą pętli foreach chyba tego nie zrobię bo ona pobiera z bazy dane:
  1. $wydarzenia = selectBySQL("SELECT * FROM wydarzenia ORDER BY date DESC LIMIT 5");


Turson
Pewnie nie wie o tym, że można tak
  1. $i=1;
  2. foreach(....){
  3. echo $i;
  4. $i++;
  5. }
martinii007
A nie wie, ale już się dowiedział smile.gif Było to proste, ale jakoś nie wpadłem na to smile.gif Dzięki!
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.