Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z tablicą, foreach, przetworzenie danych
Forum PHP.pl > Forum > Przedszkole
in5ane
Witam, mam taki kod:
  1.  
  2. foreach ($seasonshedule as $row) :
  3. if ($row->day == 1) :
  4. echo '<tr><td>'.$row->name.'</td><td>'.$row->username.'</td><td>'.$row->start_time.' - '.$row->end_time.'</td><td>';
  5. if ($row->id_user == $this->session->userdata('user_id')) :
  6. echo '<a href="'.site_url('seasonshedule/edit/'.$row->id).'" title="Edytuj"><img src="arrow.png" /></a> <a href="'.site_url('seasonshedule/delete/'.$row->id).'" title="Usuń"><img src="delete.gif" /></a>';
  7. endif;
  8. echo '</td></tr>';
  9. else :
  10. echo '<tr><td colspan="4">Brak.</td></tr>';
  11. endif;
  12. endforeach;

Mam mi to wyświetlić dane dla dnia 1 (czyli poniedziałek), inne ma pominąć. Jeżeli natomiast nie ma żadnych danych dla poniedziałku, to ma wyświetlić napis "Brak.". Jednakże danych mam sporo więcej z innych również dni i napis "Brak." wyświetla mi się kilka razy (tyle, ile jest wszystkich danych, dla wszystkich dni). Dodanie "break;" po tym "Brak." nie rozwiązuje sprawy, ponieważ ten napis wyświetli się raz (czyli prawidłowo), ale również wyświetli się w przypadku, gdy są jakieś dane dla poniedziałku. Ma ktoś jakiś pomysł, jak to zrobić?
nospor
No bez przesady.... Ty o takie rzeczy pytasz?

  1. $brak = true;
  2. foreach ($seasonshedule as $row) :
  3.  
  4. if ($row->day == 1) :
  5. $brak = false;
  6. echo '<tr><td>'.$row->name.'</td><td>'.$row->username.'</td><td>'.$row->start_time.' - '.$row->end_time.'</td><td>';
  7.  
  8. if ($row->id_user == $this->session->userdata('user_id')) :
  9.  
  10. echo '<a href="'.site_url('seasonshedule/edit/'.$row->id).'" title="Edytuj"><img src="arrow.png" /></a> <a href="'.site_url('seasonshedule/delete/'.$row->id).'" title="Usuń"><img src="delete.gif" /></a>';
  11.  
  12. endif;
  13.  
  14. echo '</td></tr>';
  15.  
  16. else :
  17.  
  18. //tu nic
  19.  
  20. endif;
  21.  
  22. endforeach;
  23. if ($brak) echo '<tr><td colspan="4">Brak.</td></tr>';

Tada....
in5ane
Tak też właśnie robiłem i problem z tym, że nie działa jak powinno. Na logiczne myślenie tak powinno być, ale nie idzie.

@edit: wiem, co źle sobie zrobiłem. Nie spojrzałem i na odwrót robiłem true i false i do tego zły warunek wychodził.
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.