Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql/php] stronnicowanie - problem
Forum PHP.pl > Forum > Przedszkole
bastek8989
Witam

posiadam nast skrypt stronnicowania:

  1. <?php
  2. //zmien zapytanie - zostaw "count(*)" 
  3. $result=mysql_query("SELECT count(*) FROM ".$kat." "); 
  4. list($ilestron)=mysql_fetch_row($result); 
  5.  
  6. //co ile ma tworzyc strone 
  7. $skok=1; 
  8. if(!$_GET['current'])$_GET['current']=1; 
  9. //strona, ktora ma byc wywolana 
  10. $stronadoprzejscia='index.php?p=pokaz&k='.$_GET[k].'&zmienna=wartosc'; 
  11. //maksymalnie z jednej i drugiej strony biezacego (zobacz w praktyce, trudno to wytlumaczyc snitch.gif 
  12. $max=3; 
  13. $temp=$_GET['current']/$skok; 
  14. $temp++; 
  15. $stron=$ilestron/$skok; 
  16. $all=(int)($stron); 
  17. if($all!=$stron)$all++; 
  18.  
  19. if(!$_GET['current']||($_GET['current']<=0))$_GET['current']=1; 
  20. if($_GET['current']>$all)$_GET['current']=1; 
  21. //zmien zapytanie - zostaw "LIMIT ".($_GET['current']-1)*$skok.", $skok" 
  22. $result=mysql_query("SELECT * FROM ".$kat." WHERE kategoria LIKE '%$kategoria%' AND publikacja LIKE 'tak' ORDER BY id DESC LIMIT ".($_GET['current']-1)*$skok.", $skok"); 
  23. $od=$_GET['current']-$max; 
  24. if($od<=0){$od=1;$do=2*$max+1;} 
  25. if(!$do)$do=$_GET['current']+$max; 
  26. if($do>$all){$do=$all;$od=$do-2*$max;if($od<=0)$od=1;} 
  27.  
  28.  
  29. $kropki=$od-$max-1;//$_GET['current']-(2*$max); 
  30. if($kropki<=0)$kropki=1; 
  31. if($od!=1)$stronicowanie.='<a href="'.$stronadoprzejscia.'&current=1">1</a> <a href="'.$stronadoprzejscia.'&current='.$kropki.'">...</a> '; 
  32. for($i=$od;$i<=$do;$i++){ 
  33. if($_GET['current']==$i)$stronicowanie.=' '.$i.' '; 
  34. else $stronicowanie.=' <a href="'.$stronadoprzejscia.'&current='.$i.'">'.$i.'</a> '; 
  35. } 
  36. $kropki=$do+$max+1;//$_GET['current']+(2*$max); 
  37. if($kropki>$all)$kropki=$all; 
  38. if($do!=$all)$stronicowanie.=' <a href="'.$stronadoprzejscia.'&current='.$kropki.'">...</A> <a href="'.$stronadoprzejscia.'&current='.$all.'">'.$all.'</a>'; 
  39. if($stronicowanie==' 1 ')$stronicowanie=''; 
  40.  
  41. if($ilestron)echo($stronicowanie.'<BR><BR>');
  42. ?>


wszystko dziala swietnie wyswietlaja sie strony 1 2 3 4 5

oto skrypt wyswietlajay probowalem wymyslec jak wygladalby limit ale niewyszlo bo niedziala :|
  1. <?php
  2. $sql = "SELECT * FROM ".$kat." WHERE kategoria LIKE '%$kategoria%' AND publikacja LIKE 'tak' ORDER BY id DESC LIMIT ".($_GET['current']-1)*$skok.", $skok";
  3. while($wynik=mysql_fetch_array($result))
  4.  
  5. {
  6. echo "'.$wynik[id].'";
  7. }
  8. ?>


jak bedzie wygladalo zapytanie do tego skryptu

pls pomocy :|
gszesiek
czy tego nie było wcześniej questionmark.gif (widzałem coś takiego z odpowiedzią)

jak już piszesz, że nie działa to podaj dokładniejszy opis (np. błąd)

Kod
while ( $wynik = mysql_fetch_array( $sql ) ) {
    echo "$wynik['id']";
}

może tak będzie lepiej


podobny problem - ostatni post może Ci pomoże

ale bez limitu działa?
jeśli tak, to spróbuj zamiast tej funkcji wstawić zwykłe wartości
bastek8989
blad wyglada nastepujaca

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bastek/public_html/widzimisie2/include/body/pokaz.php on line 6

niestety niepomoglo

  1. <?php
  2. $sql = "SELECT * FROM ".$kat." WHERE kategoria LIKE '%$kategoria%' AND publikacja LIKE 'tak' ORDER BY id DESC LIMIT ".($_GET['current']-1)*$skok.", $skok";
  3. ?>


oto ten felerny skrypt na limit :| cos tu jest zle ale niemam pojecia co

odnosnie tego podobnego problemu to laczy nas tylko to ze mamy blad w zapytaniu tyle ze tam niema nic napisane o limicie :|
gszesiek
Cytat
ale bez limitu działa?
jeśli tak, to spróbuj zamiast tej funkcji wstawić zwykłe wartości


no to miłej zabawy z php winksmiley.jpg
bastek8989
oniemoge biggrin.gif wszystko gra ;d jestem poczatkujacym i niewiedzialem ze kolejnosc skryptow jest wazna - wstawilem zapytanie pod funkcja i dziala smile.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.