Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Jakiś błąd w stronicowaniu
Forum PHP.pl > Forum > Przedszkole
drzalek
Zrobiłem sobie taki skrypcik do stronicowania:

  1. <?php
  2.  
  3. require('bazalacz.php');
  4.  
  5. $zapytanie1 = "SELECT * FROM tabelka ORDER BY id_komorki";
  6. $query1 = mysql_query($zapytanie1);
  7.  
  8. $ile = mysql_num_rows($query1);
  9. $na_strone = 10;
  10. $stron = ceil ($ile / $na_strone);
  11.  
  12.  
  13.  
  14. if (!isset($_GET['strona'])) $strona = 1; else $strona = (int)$_GET['strona'];
  15.  
  16. $limit1=($strona-1)*$na_strone;
  17. $limit2=$strona*$na_strone;
  18.  
  19. $zapytanie2=$zapytanie1.' LIMIT '.$limit1.', '.$limit2;
  20. $query2 = mysql_query($zapytanie2);
  21.  
  22.  
  23. while($row=mysql_fetch_array($query2))
  24. {
  25.  
  26. echo $row['nazwa_komorki'];
  27. echo '<br/>';
  28. }
  29.  
  30.  
  31. for ($i = 1; $i <= $stron; $i++) echo '<a href="index.php?strona='.($i).'" >'.($i).'</a>';
  32.  
  33.  
  34.  
  35.  
  36. ?>


Wszystko ładnie działa, ale jest mały problem, jak kliknę na np 2 stronę to mi wyświetla nie 10 wyników a 20, jak na 3 to 30 itd, w pewnym momencie zaczyna się w ogóle wszystko chrzanić i przy 43 wywala 266, na ostatniej stronie (69) daje 6 wyników, czyli tak jak ma być, ale już na 68 daje 16.
Ja nie wiem pewnie to jest jakiś śmieszny błąd, być może jestem przemęczony, ale po prostu już całkiem zgłupiałem od tego wszystkiego :|

Jak macie jakiś pomysł co jest nie tak to proszę o pomoc smile.gif
nithajasz
Błąd przy LIMIT masz, pierwsza wartość to początkowy rekord, druga ilość rekordów do wyświetlenia.

  1. <?php
  2.  
  3. require('bazalacz.php');
  4.  
  5. $zapytanie1 = "SELECT * FROM tabelka ORDER BY id_komorki";
  6. $query1 = mysql_query($zapytanie1);
  7.  
  8. $ile = mysql_num_rows($query1);
  9. $na_strone = 10;
  10. $stron = ceil ($ile / $na_strone);
  11.  
  12. if (!isset($_GET['strona'])) $strona = 1; else $strona = (int)$_GET['strona'];
  13.  
  14. $limit1=($strona-1)*$na_strone;
  15.  
  16. $zapytanie2=$zapytanie1.' LIMIT '.$limit1.', '.$na_strone;
  17. $query2 = mysql_query($zapytanie2);
  18.  
  19.  
  20. while($row=mysql_fetch_array($query2))
  21. {
  22.  
  23. echo $row['nazwa_komorki'];
  24. echo '<br/>';
  25. }
  26.  
  27.  
  28. for ($i = 1; $i <= $stron; $i++) echo '<a href="index.php?strona='.($i).'" >'.($i).'</a>';
  29.  
  30. ?>
drzalek
Heh, normalnie wstyd biggrin.gif dzięki wielkie
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.