Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] Problem z petla while
Forum PHP.pl > Forum > Przedszkole
swiru_
  1. <?php
  2. $query = 'SELECT title FROM table_news ORDER by date DESC LIMIT 15';
  3. $result = mysql_query($query);
  4. $N = mysql_num_rows($result); //zapisz ilosc rekordow do zmiennej
  5. $row = mysql_fetch_assoc($result);
  6. $N2 = ceil($N/5); //zaokraglaj w gore dzielenie przez 5, 1 - 5 = 1; 6 - 10 = 2; 11 - 15 = 3
  7. $titles = array();
  8. $k = 0;
  9. while ($row = mysql_fetch_assoc($result))
  10. {
  11. $titles[] = $row['title'];
  12.  
  13. }
  14.  
  15.  
  16. // wyswietlanie divow i linkow
  17.  
  18.  
  19. for ($i=0; $i<$N2; $i++)
  20. {
  21. echo ('<div id="'.$i.'" class="t_div">');
  22. echo ('<ul class="link_t">');
  23.  
  24. for ($j=0; $j<5; $j++)
  25. {
  26.  
  27. if (($j + $i*5)<$N)
  28. {
  29. echo ('<li>'.$titles[$k].'</li>');
  30. $k++;
  31.  
  32. }
  33. }
  34.  
  35. echo ('</ul></div>');
  36. }
  37. ?>


problem polega na tym ze mam w tabeli 7 artykolow i wszystko jest ok, petle for wykonuja sie dobrze, bo zgodznie z zalozeniem tworzą dwa divy i 7 tagow <li></li> ale w przegladarce wyswietla mi tylko 6 tytulow, w kodzie zrodlowym ostatni tag <li> jest pusty, szybkie debugowanie:

  1.  
  2. while ($row = mysql_fetch_assoc($result))
  3. {
  4. $titles[] = $row['title'];
  5. echo 'dupa';
  6. }
  7.  


i dupuje mi tylko 6 razy ...

ktos ma pomysł dla czego??
nospor
Przed petla masz:
$row = mysql_fetch_assoc($result);
to jest twoj zgubiony rekord. Po co go pobierasz? winksmiley.jpg
swiru_
noo i gra gitarka. smile.gif

dziękować
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.