Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] stronicowanie
-gosc-
post
Post #1





Goście







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
Go to the top of the page
+Quote Post
MatheW
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 29.05.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. SELECT * offerts WHERE add_date BETWEEN NOW() - INTERVAL 2 DAY AND NOW() ORDER BY add_date DESC
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował MatheW 8.08.2006, 11:34:54
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:15