Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript]Dynamiczne stronnicowanie, -->
MateuszS
post 27.10.2009, 20:32:30
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


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

Ten post edytował MateuszScirka 27.10.2009, 18:48:34


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
nospor
post 28.10.2009, 12:52:48
Post #2





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




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:20