Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Stronicowanie rekordów
Forum PHP.pl > Forum > Przedszkole
wacek800
Witam.
Mam mianowicie następujący problem ze skryptem do stronicowania rekordów na stronie. Jeżeli do formularza wyszukiwania wprowadzę nazwę towaru oraz cenę z jakiegoś przedziału to zwróci mi np.30 rekordów, na każdej stronie chcę mieć np. po 10 rekordów. Na pierwszej stronie wszystko ładnie się wyświetla, a jak przejdę na stronę drugą to wyświetla się komunikat "brak informacji spełniających kryteria wyszukiwania", i za nic nie mogę dojść czemu tak się dzieje. Wszystkie cenne uwagi i sugestie mile widziane.
PS.
Proszę tylko o nieodsyłania do manuala i google bo od tego zacząłem

CODE
  1. function pasek($rekordow,$na_stronie,$na_pasku,$skrypt,$s) {
  2. $stron = ceil($rekordow/$na_stronie);
  3. if ($s<1) $s=1;
  4. if ($s>$stron) $s=$stron;
  5. $koniec = $s+$na_pasku;
  6. if ($s<=$na_pasku) $koniec = $na_pasku*2+1;
  7. if ($koniec>$stron) $koniec = $stron;
  8. $start = $koniec-$na_pasku*2;
  9. if ($start<1) $start=1;
  10. if ($s>1) $p = "<a href='$skrypt".($s-1)."'>&lt;&lt;&lt;</a>";
  11. else $p = "<span style='color:gray'>&lt;&lt;&lt;</span>";
  12. if ($s<$stron) $n = "<a href='$skrypt".($s+1)."'>&gt;&gt;&gt;</a>";
  13. else $n = "<span style='color:gray'>&gt;&gt;&gt;</span>";
  14. for ($i=$start; $i<=$koniec; $i++) {
  15. if ($i==$s) $l .= "&nbsp;<span style='color:#cc0000;'><b>$i</b></span>&nbsp;";
  16. else $l .= "&nbsp;<a href='$skrypt$i'>$i</a>&nbsp;";
  17. }
  18. if ($rekordow<1) $wynik = "brak informacji spełniających kryteria wyszukiwania";
  19. else $wynik = "znalezionych: $rekordow, strona $s z $stron<br />";
  20. if ($stron>1) $wynik .= "$p&nbsp; - $l - &nbsp;$n";
  21. return $wynik;
  22. }
  23.  
  24. $s = ($_GET["s"]>1)?number_format($_GET["s"], 0, "", ""):1; // numer strony
  25. $na_stronie = 1; // liczba rekordow widocznych na stronie
  26. $na_pasku = 2; // liczba odpowiedzi/2 na pasku
  27. $skrypt = "result3.php?s="; // skrypt do wysyłania danych
  28.  
  29. if (mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
  30. and mysql_select_db(DB_NAME)) {
  31.  
  32. $start = ($s-1)*$na_stronie;
  33.  
  34.  
  35. $wynik = mysql_query("select SQL_CALC_FOUND_ROWS * from cennik where towar = '{$_POST['kategoria']}' and cena between '{$_POST['cena_od']}' and '{$_POST['cena_do']}' LIMIT $start, $na_stronie");
  36.  
  37. $rekordow = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0);
  38. echo 'wynik'.$wynik;
  39. echo'rekordow'.$rekordow;
  40.  
  41. }
  42.  
  43. echo "<p style='text-align:center;'>";
  44. echo pasek($rekordow,$na_stronie,$na_pasku,$skrypt,$s);
  45. echo "</p>";
  46.  
  47. while($wynik and $dane = mysql_fetch_assoc($wynik)) {
  48. echo "<p>";
  49. foreach($dane as $pole)
  50. ...tutaj wypisuje dane...
  51. echo "</p>";
  52. }
Barcelona
Witam, korzystam z tego samego skryptu stronicowania. Jak wróce z pracy to Ci pomogę z nim. Albo jak Ci zależy na czasie to napisz sobie do autora tego skryptu (o ile brałeś go z oryginalnej strony to będziesz wiedział o kogo chodzi) to na 100% Ci pomoże.
wacek800
Witaj. W takim razie czekam na jakąś podpowiedź od Ciebie. Pozdrawiam

Ponawiam prośbę sciana.gif
nospor
Kryteria wyszukiwania przesyłasz formularzem. Niestety gdy klikasz w link kolejnej strony - tracisz kryteria wyszukiwania, gdyż Twoje linki ze stronami nie przenoszą informacji o kryteriach wyszukiwania.

Musisz te kryteria gdzieś pamietac: albo w sesji, albo w linkach kolejnych stron.

Tutaj o tym pisałem:
http://nospor.pl/formularz-i-stronicowanie...anie-stanu.html
wacek800
Zadziałało snitch.gif . Wielkie dzięki dla Ciebie Nospor smile.gif
Temat do zamknięcia
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.