Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z podzialem na podstrony
koszar
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 17.05.2004
Skąd: Słupca

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


witam!
napisalem pewno wyszukiwarke i chcialem napisać dzielenie na strony

  1. <?php
  2.  
  3. $where = trim(strip_tags($_GET[q])); // _GET[q] = zapytanie
  4. $bywhat = trim(strip_tags($_GET[s])); // _GET[s] = sortowanie
  5. $page = trim(strip_tags($_GET[p])); // _GET[s] = strona wynikow
  6. $wspolczynnik = &#092;"20\"; // ilosc rekordow na jednej stronie
  7.  
  8. switch($bywhat) {
  9. case r: $sort=&#092;"aaaa\"; $type=\"DESC\"; break;
  10. case n: $sort=&#092;"bbbb\"; $type=\"ASC\"; break;
  11. }
  12.  
  13. if($page==0)
  14. $pageTyl = 0;
  15. else
  16. $pageTyl = $wspolczynnik*$page-$wspolczynnik;
  17.  
  18. if($page==0)
  19. $pagePrzod = $wspolczynnik-1;
  20. else
  21. $pagePrzod = $page*$wspolczynnik-1;
  22.  
  23. $zapytanie = &#092;"SELECT * FROM tabela WHERE (pole1 LIKE '%$where%') OR (pole2 LIKE '%$where%') OR (pole3 LIKE '%$where%') ORDER BY $sort $type LIMIT $pageTyl,$pagePrzod\";
  24.  
  25. ?>


pomijam juz polaczenie z baza wkonanie zapytania, itd.....

sterowanie stronami wyników odbywa sie przez zmienna $page , potem tam sie przelicza dolna i górna granica LIMIT....
z tego co widze to limit wykouje się poprawnie, ale na kolejnych podstronach $page=2, $page=3, itd. na stronie zamiast 20 wyników wyświetlają się kolejno 40, 60, 80 mimo, że limit wskazuje np. LIMIT 20,39 lub LIMIT 40,59

nie wiem... może coś sam źle zrobilem... może czegoś nie uwzględnilem.... macie jakieś pomysly ?

pozdr. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kuziu
post
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Może Ci dam przyklad mojego kodu .. może to Ci pomoże ...

  1. <?php
  2.  
  3. $per_page = 20; // 20 na strone
  4. if(!$page){$page=0;}else{$page--;} // jeśli nie ma podanego to 0 jeśli jest to odejmij 1 ... liczymy od zera
  5.  
  6. $od=$page*$per_page; // mnożenie przez ilośc na storne
  7.  
  8. $sql =&#092;"SELECT * FROM news ORDER by time DESC LIMIT $od,$per_page\";
  9. $result =@mysql_query($sql,$connection) or die(&#092;"Wykonanie zapytania niepowiodło się\");
  10.  
  11. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 10:05