Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pętlą for
Forum PHP.pl > Forum > Przedszkole
m4rku5
Witam!
Mam taki problem, wyciągam rekordy z bazy i chcę alby co czwarty wiersz był kolorowany (zaczynając od pierwszego) i koloruje te wiersze faktycznie, ale wyświetla wszystko też 4 razy więcej, czyli jeśli mam 5 rekordów w bazie to wyświetla mi 20 wierszy, po cztery każdy. Najpierw zliczam instrukcją mysqli_num_rows ile mam wierszy, podstawiam pod zmienną , wrzucam do pętli for. PHP 7.3. Kod wygląda tak:

  1.  
  2. $wynik = "SELECT * FROM ogloszenia";
  3. $output = $connection->query($wynik);
  4. if ($output ->num_rows > 0) {
  5. while($row = $output->fetch_assoc()) {
  6. $ilosc = mysqli_num_rows($output);
  7. for ($i=0;$i<$ilosc;$i++) {
  8. $rekord++;
  9. if ($rekord==1) { $color = "#CCC000"; }
  10. if ($rekord==2) { $color = "#FFFFFFF";}
  11. if ($rekord==3) { $color = "#FFFFFFF";}
  12. if ($rekord==4) { $color = "#FFFFFFF"; $rekord=0; }
  13.  
  14. echo "<tr class='$color'> $row[tytul_ogloszenia]</tr>";
  15. }
  16. }
  17. }


Dodam tylko że przy podbiłem aktualizacją PHP 7.1 do wersji 7.3 i tak się dzieje teraz, wcześniej było ok na tym kodzie. Coś się zmieniło a nie wiem co, ktoś pomoże?
nospor
Wyswietlasz rekordy w petli w petli i sie dziwisz ze sie duplikuja....
Ta druga petla jest totalnie zbedna.
Zwiekszaj w while zmienna $i o 1 a potem zwyklym warunkiem

$i % 4 === 0
koloruj sobie co czwarty wiersz i tyle

ps: przenosze
m4rku5
ok, dzięki. Juz poprawiłem, faktycznie zapętlałem niepotrzebnie dwa razy...
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.