Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Stronicowanie z PHPedii - nie działa, Nowy problem w starym temacie
zaaap
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


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 :/

Ten post edytował zaaap 15.01.2009, 10:51:01
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ś?
Go to the top of the page
+Quote Post
zaaap
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


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





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
zaaap
post
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


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.
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: 22.08.2025 - 13:02