Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Dynamiczne stronnicowanie
Forum PHP.pl > Forum > Przedszkole
MateuszS
Witam, chcę zrobić stronnicowanie bez przeładowania strony. Stronnicuję dane z bazy, dla testu wziąłem IDeki wpisów. Wygląda to tak:

  1. <script type="text/javascript">
  2. var s=1;
  3. var u=2;
  4. var k=0;
  5. function przewin(id,prev,next) {
  6. var action=id;
  7. var prev=document.getElementById(prev);
  8. var next=document.getElementById(next);
  9. if(action=='lewo') { //lewo
  10. if(prev.innerHTML>1) {
  11. prev.innerHTML--;
  12. next.innerHTML--;
  13. document.getElementbyId(k).style.display='block';
  14. document.getElementbyId(s).style.display='none';
  15. k--;
  16. s--;
  17. }
  18. } else { //prawo
  19. if(next.innerHTML<16) {
  20. prev.innerHTML++;
  21. next.innerHTML++;
  22. document.getElementbyId(u).style.display='block';
  23. document.getElementbyId(s).style.display='none';
  24. u++;
  25. s++;
  26. }
  27. }
  28. }
  29.  
  30.  
  31. </script>
  32.  
  33. <?
  34. $connect=mysql_connect('localhost','root','');
  35. $db=mysql_select_db('baza',$connect);
  36.  
  37. $zap=mysql_query("SELECT * FROM `konta`");
  38. $ile=mysql_num_rows($zap);
  39. $a=1;
  40. $max=3;
  41. while($wynik=mysql_fetch_assoc($zap)) {
  42. $w[$a][0]=$wynik['id'];
  43. if($a==$ile) {
  44. $c=$ile/$max;
  45. $c=ceil($c);
  46. for($i=1; $i<=$c; $i++) {
  47. if($i<=1) {
  48. $display='block';
  49. } else {
  50. $display='none';
  51. }
  52.  
  53. echo '<a style="display: '.$display.';" id="'.$i.'">'.$w[$i*$max-2][0].'<br />'.$w[$i*$max-1][0].'<br />'.$w[$i*$max][0].'</a><br />';
  54. if($i==1) {
  55. ?>
  56. <a id="a1">1</a><a style="margin-left: 20px;" id="a2">2</a>
  57. <br /><br />
  58. <a onClick="przewin('lewo','a1','a2')"><<</a>
  59. <a onClick="przewin('prawo','a1','a2')"> >></a>
  60. <?
  61. }
  62. }
  63.  
  64. }
  65. $a++;
  66.  
  67.  
  68. }
  69.  
  70. ?>


Na raz może wyświetlać 3 ideki, np 1,2,3 lub 4,5,6 itd.
Niestety coś JS nie rozumie mojego polecenia, nie wiem co jest źle, bo gdy klikam na strzałki, które przewijają w prawo/lewo to zmieniają się strony ale IDeki pozostają te same.

Pozdrawiam sciana.gif

rozwiazany problem. dalem ...byId zamiast ...ById
nospor
jesli dobrze zrozumialem, to ty pobierasz od razu wszystkie dane, czesc z nich chowasz i wyswietlasz dopiero jak sie kliknie na daną strone. DObrze zrozumiałem? Jeśli tak, to ty nie zrozumiałeś idei stronicowania.
Stronicowanie miało służyć temu, by nie wyświetlać użytkownikowi naraz wszystkich (np. milion) rekordów, tylko je porcjować. W ten sposób unika się zwracania wszystkich danych co jest bardzo zasobożerne. Ty pomimo "stronicowania" i tak zwracasz użytkownikowi wszystkie dane.

Jak nie chcesz mieć przeładowania strony to użyj ajaxa i zrób stronicowanie tak jak być powinno zrobione.
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.