Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Problem ze stronicowaniem, Prawie dziala... ale nie tak do konca dobrze
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam. Tak jak w temacie pisalem mam problem ze stronicowaniem. A wiec moze rzuce troche kodu, a potem wyjasnie co mi nie gra...
  1. <?php
  2. $ile_rekordow = mysql_query("SELECT news_id FROM news WHERE news_kat='$kategoria'");
  3. $wszystkich = mysql_num_rows($ile_rekordow);
  4. $ile_na_stronie = "10";
  5. echo $page = $_GET['page']$_GET['page'] : 0;
  6. echo $limit = ($page * $ile_na_stronie).','.(($page * $ile_na_stronie)+$ile_na_stronie);
  7. $query2 = "SELECT * FROM news WHERE news_kat='$kategoria' LIMIT {$limit}";
  8. $results2 = mysql_query($query2) or die(mysql_error());
  9. $a=0;
  10. while ($row2 = mysql_fetch_array($results2)) 
  11. {
  12. $data  = explode("-", $row2['news_data']);
  13. $dzien = $data['2'];
  14. $miesiac = $data['1'];
  15. $rok = $data['0'];
  16. $data2  = explode("-", $row2['news_mod']);
  17. $dzien2 = $data2['2'];
  18. $miesiac2 = $data2['1'];
  19. $rok2  = $data2['0'];
  20. $a++;
  21. if($a%2) 
  22. $color = "#DEDEDE";
  23. else
  24. $color = "#E8E6E6";
  25. echo "<div id='info' style='background-color:" . $color . ";'>";
  26. echo "Data dodania: " . $dzien . " " . $miesiace[$miesiac] . " " . $rok;;
  27. echo ", Data modyfikacji: " . $dzien2 . " " . $miesiace[$miesiac2] . " " . $rok2;;
  28. echo "</div>";
  29. echo "<div id='tytul' style='background-color:" . $color . ";'>";
  30. echo "<span class='bold'>";
  31. echo "<a href='index.php?action=pelna&id=" . $row2['news_id'] . "'>" . $row2['news_tytul'] . "</a>";
  32. echo "</span>";
  33. echo "</div>";
  34. }
  35. $podstron = ceil($wszystkich/$ile_na_stronie);
  36. if($page>0){
  37. echo "<a href='index.php?wybor=" . $wybor . "&wybor2=" . $wybor2 . "&kategoria=" . $kategoria . "&page=" . ($page-1) ."'>" . "Poprzednia" . " </a> |";
  38. } else {
  39. echo "Poprzednia |";
  40. }
  41. for($i=0;$i<=$podstron;$i++){
  42. if($i==$page){
  43. echo " [".($i+1)."] ";
  44. } else {
  45. echo "<a href='index.php?wybor=" . $wybor . "&wybor2=" . $wybor2 . "&kategoria=" . $kategoria . "&page=" . $i ."'>" . ($i+1) . " </a>";
  46. }
  47. }
  48. if($page<$podstron){
  49. echo " <a href='index.php?wybor=" . $wybor . "&wybor2=" . $wybor2 . "&kategoria=" . $kategoria . "&page=" . ($page+1) ."'>" . "Następna" . " </a>";
  50. } else {
  51. echo " Nastepna";
  52. }
  53. ?>

Przyklad wziety z tego forum i dostosowany do moich potrzeb ale nawet jak juz przeisalem go zywcem z innego topicu to i tak nie dziala tak jak ma. Chodzi o to, ze skrypt pokazuje o jedna podstrone za duzo i wtedy gdy mam powiedzmy 17 wynikow to powinny byc 2 podstrony 1 i 2 a tu dopisuje sie jeszcze 3 po kliknieciu ktorej klauzula LIMIT w zapytaniu leci do wynikow 20-30 w tym przypadku, ktorych nie ma wiec strona zostaje pusta. Probowalem juz na rozne modele cos z tym wykombinowac ale juz mi brakuje troche pomyslow. Jesli zrobie ilosc podstron -1 to znow LIMIT przy 1 wynosi -1,10 i tez sie sypie... Moze widzicie w tym jakis blad, ktorego ja jeszcze nie zauwazylem... Jesli tak to prosze o jakas podpowiedz. Pozdrawiam, Łukasz
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie:
  1. <?php
  2. for($i=0;$i<=$podstron;$i++){
  3. ?>

a:
  1. <?php
  2. for($i=0;$i<$podstron;$i++){
  3. ?>
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: 23.08.2025 - 07:54