Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] stronicowanie
Forum PHP.pl > Forum > Przedszkole
gosc
mam prosty skrypt ktory stronicuje wyniki z bazy danych (z PHPEdia.pl):
  1. <?php 
  2. // ile ma być wyświetlanych rekordów na stronie 
  3. define('ILOSC_WYNIKOW_NA_STRONIE', 5); 
  4. /* 
  5.  * połączenie z bazą itp 
  6.  */ 
  7. $SQL = "SELECT COUNT(*) FROM moja_baza"; // Zapytanie liczące ilość wpisów w bazie 
  8. $RES = mysql_query($SQL); 
  9. list($iloscWpisow) = mysql_fetch_row($RES); 
  10.  
  11. $SQL = "SELECT *
  12.  FROM moja_baza
  13.  ORDER BY date ASC
  14.  LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE; 
  15. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając 
    od $_GET['porcja']*ILOSC_NA_STRONIE 
  16. $RES = mysql_query($SQL); // wykonujemy zapytanie 
  17. while($AFR = mysql_fetch_assoc($RES)){ 
  18.  /*Wyswietlanie wyników, przykładowo:*/ 
  19.  echo 'Tytuł: '.$AFR['Title'].'<br />'; 
  20. } 
  21.  
  22. //Teraz wypadało by wyswietlic jakąc nawigację
  23.  
  24. //jesli nie jestesmy na pierwszej stronie 
  25. if($_GET['porcja']>0){
  26. //wyswietlamy link do poprzedniej strony 
  27.  echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> '; 
  28. } 
  29.  
  30. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){ 
  31.  echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> '; 
  32. } 
  33. //jesli nie jestesmy na ostatniej stronie 
  34. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
  35. //wyswietlamy link do nastepnej strony 
  36.  echo ' <a href="?porcja='.($_GET['porcja']+1).'">Następne</a>'; 
  37. } 
  38. ?>


i probowalem (ale nie udawalo sie): jak go przeksztalcic aby na stronie wyniki byly sortowane po 2 dni (czyli strona 1 - wyniki z 2 ostatnich dni, strona 2 - wyniki pomiedzy 2 a 4 dniem itd.)

udalo mi sie jedynie zrobic zapytanie do bazy (chociaz i tak jest w nim blad :/):
  1. SELECT * offerts WHERE DATE_ADD(add_date, INTERVAL 2 DAY) < NOW() ORDER BY add_date DESC
MatheW
  1. SELECT * offerts WHERE add_date BETWEEN NOW() - INTERVAL 2 DAY AND NOW() ORDER BY add_date DESC
questionmark.gif
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.