Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Stronicowanie z PHPedii - nie działa
Forum PHP.pl > Forum > Przedszkole
zaaap
Witam, szukajac naprostszego skryptu do stronicowania zawitałem na wiki i znalazlem tam:

  1. <?php
  2. define('ILOSC_WYNIKOW_NA_STRONIE', 5);
  3. mysql_connect('localhost', 'a', 'a');
  4.  
  5. $SQL = &#092;"SELECT SQL_CALC_FOUND_ROWS *
  6.       FROM news
  7.       ORDER BY date ASC
  8.       LIMIT &#092;".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).\",\".ILOSC_WYNIKOW_NA_STRONIE;
  9. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['porcja']*ILOSC_NA_STRONIE
  10. $RES = mysql_query($SQL); // wykonujemy zapytanie
  11. while($AFR = mysql_fetch_assoc($RES)){
  12.   /*Wyswietlanie wyników, przykładowo:*/
  13.   echo 'tytuł: '.$AFR['tytul'].'
  14. ';
  15. }
  16.  
  17. // w inny sposób pobieramy ilosc danych w bazie
  18. $SQL = &#092;"SELECT FOUND_ROWS() as Ilosc\";
  19. $RES= mysql_query($SQL);
  20. list($iloscWpisow) = mysql_fetch_row($RES);
  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. }
  28.  
  29. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  30. }
  31. //jesli nie jestesmy na ostatniej stronie
  32. if($_GET['porcja']
  33.  //wyswietlamy link do nastepnej strony
  34.   echo ' następne';
  35. }
  36. ?>


Otrzymuje komunikat:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/test/public_html/anotak/teeest.php on line 12

Wskazuje to na tą linię:
Kod
while($AFR = mysql_fetch_assoc($RES)){

Ktos sie orientuje? Bo przyznam takiego zapytania nie widzialem na swej krotkiej drodze z php :/
erix
Cytat
Ktos sie orientuje? Bo przyznam takiego zapytania nie widzialem na swej krotkiej drodze z php :/

Masz zwalone zapytanie najpewniej. Kod jest dokładnie taki sam, jaki zacytowałeś?
zaaap
Cytat(erix @ 12.01.2009, 20:25:16 ) *
Masz zwalone zapytanie najpewniej. Kod jest dokładnie taki sam, jaki zacytowałeś?


IDENTYCZNY

http://phpedia.pl/wiki/Stronicowanie
phpion
Zmień:
  1. <?php
  2. $RES = mysql_query($SQL);
  3. ?>

na:
  1. <?php
  2. $RES = mysql_query($SQL) or die(mysql_error());
  3. ?>

i powiedz co się wyświetli.
zaaap
Dzieki, zlokowalizowałem blad dzieki temu.
Bylo sort by date, a w tabeli mialem pole 'data' zamiast 'date'

OKej, nie chcąc zakładac nowego tematu, jako, ze moj problem dotyczy tego samego skryptu z phpedii to pisze to tutaj.
Kod
for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
   echo '<div onclick="location.href=\'?porcja='.($i).'\'" style="cursor: pointer;" class="liczba">'.($i+1).'</div>';
}


-liczba wynikow na stronie ustawiona na 5

I teraz, jesli iloscWpisow jest rowna 0, to zawsze jest pisane, ze istnieje strona numer 1, no ale nie powinno tak byc skoro wynikow nie ma.
Kolejna sprawą jest to, ze jesli iloscWpisow rowna jest 10 to sa tworzone strony 1 2 3, a wynikow jest tylko na 2 strony, troche tego nie kumam skoro floor zaokragla w dół to dlaczego tak sie dzieje.
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.