Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] stronnicowanie nie dziala
Forum PHP.pl > Forum > Przedszkole
droicyn
  1. <?php
  2. $count = 0;
  3. while($record_smiles = mysql_fetch_array($result_smiles))
  4. {
  5.     $array_smiles[$count]['smile'] = $record_smiles['smile'];
  6.     $array_smiles[$count]['file'] = $record_smiles['file'];
  7.     
  8.     $count++;
  9. }
  10. $int_poile = 5;
  11.         if(!isset($_GET['od']))
  12.         {
  13.             $int_od = 0;
  14.             
  15.         }
  16.         else
  17.         {
  18.             $int_od = $_GET['od'];
  19.         }
  20.         
  21.         $record = mysql_fetch_array($result);
  22.         for($j = $int_od; $j<$int_od + $int_poile; $j++)
  23.         {
  24. while($record = mysql_fetch_array($result))
  25. {
  26.     if ($record['status'] == 1)
  27.     {
  28.         $id_news = $record['id'];
  29.         $num_comments = 0;
  30.         
  31.         $sql = "SELECT id, id_news FROM news_comments WHERE id_news='$id_news'";
  32.         $result_comments = mysql_query($sql);
  33.         $num_comments = mysql_num_rows($result_comments);
  34.     
  35.         for ($i = 0; $i < count($array_smiles); $i++)
  36.         {
  37.             $record['text_short'] = str_replace($array_smiles[$i]['smile'], '<img src="images/smiles/icon_' . $array_smiles[$i]['file'] . '.gif" />', $record['text_short']);
  38.         }
  39.         
  40.         if(!empty($record['image']))
  41.         {
  42.             $image = '<img src="images/avatars/' . $record['image'] . '">';
  43.         }
  44.         else
  45.         {
  46.             $image = '';
  47.         }
  48.         
  49.         $link_short = $record['link'];
  50.             
  51.         if(strlen($link_short) > 20)
  52.         {
  53.             $link_short = substr($link_short, 0,20);
  54.             $link_short .= '...';
  55.         }
  56.         
  57.         if (!empty($record['link']))
  58.         {
  59.             $link = '<br /><br /><b>Link:</b> <a href="' . $record['link'] . '" target="_blank">' . $link_short . '</a>';
  60.         }
  61.         else
  62.         {
  63.             $link = '';
  64.         }
  65.         
  66. // tutaj wiswietla mi nick tytul i te sprawy
  67. }
  68.         
  69.     }
  70.                 
  71. }
  72.         $prev = $int_od - $int_poile;
  73.         if($prev >=0)
  74.         {
  75.             echo '<a href="index.php?od=' . $prev . '"><p class="arrows">&laquo;</p></a>';
  76.                     
  77.         }
  78.         else
  79.             {
  80.                 echo '<p class="arrows"> &laquo; </p>';
  81.             }
  82.         $x = 1;
  83.         for($j = 0; $j<count($record); $j+=$int_poile)
  84.         {
  85.             echo '<a href="index.php?od=' . $j . '">' .$x. '</a>';
  86.             $x++;
  87.         }
  88.         $next = $int_od + $int_poile;
  89.         if($next>floor(count($record)))
  90.         {
  91.             echo '<a href="index.php?od=' .$next . '"><p class="arrows">&raquo;</p></a>';
  92.             
  93.         }        
  94.         else
  95.             {
  96.                 echo '<p class="arrows">&raquo;</p>';
  97.             }
  98.  
  99.  
  100. ?>


i teraz chodzi o to ze chce aby na stronie wyswietlal mi 5 newsow!a jest tak ze wyswietla mi 4 i jak przejde do nastepnej stronki to wyswietla mi znow te same 4!i nie zmienia mi sie numer stronki! Bardzo bym prosil o pomoc!Drogi nosporze mam nadzieje ze teraz nie masz zadnych zastrzezen do mojego topica ;] pozdro dla Ciebie
nospor
Cytat
Drogi nosporze mam nadzieje ze teraz nie masz zadnych zastrzezen do mojego topica
no niestety mam jeszcze jedno. Zapomniales o znaczniku w tytule jak ci pisalem wcześniej. No nic, tym razem sam poprawię winksmiley.jpg

Bardzo ładnie skrociles kod w porownaniu do poprzedniej wersji. Ale czy oby nie zabardzo? Nigdzie nie widzę zapytania, którego wynikiem jest $result_smiles.

Pozatym zerknij tu:
http://phpedia.pl/wiki/Stronicowanie
Może samemu cos wymyslisz.

No i w dziale Gotowe skrypty -> Algorytmy, klasy, funkcje znajduje się pare klas do stronicowania. Moze któraś ci pomoże
LBO
Cytat
No i w dziale Gotowe skrypty -> Algorytmy, klasy, funkcje znajduje się pare klas do stronicowania. Moze któraś ci pomoże


Nosporz'e... Nosporz'e, hyhyhy, nie lubimy sie chwalic, ciom? biggrin.gif:D:D

droicyn'ie polecam Ci tą zgrabna klasę Pager'a autorstwa pana nade mną biggrin.gif

cheers
Gość_droicyn
  1. <?php
  2.  
  3. $prev = $int_od - $int_poile;
  4. if($prev >=0)
  5. {
  6. echo '<a href="index.php?od=' . $prev . '"><span class="arrows">&laquo; Poprzednia&nbsp;&nbsp;</span></a>';
  7.  
  8. }
  9. else
  10. {
  11. echo '<span class="arrows2">&laquo; Poprzednia&nbsp;&nbsp;</span>';
  12.  
  13. }
  14. $x = 0;
  15. for($j = 0; $j<$newsy; $j+=$int_poile)
  16. {
  17. if ($j != 0)
  18. {
  19. echo '&nbsp;|&nbsp;';
  20. }
  21. echo '<a href="index.php?od=' . $j . '">' .($x + 1). '</a>';
  22. $x++;
  23. }
  24. $next = $int_od + $int_poile;
  25. if($next<floor($newsy))
  26. {
  27. echo '<a href="index.php?od=' .$next . '"><span class="arrows">&nbsp;&nbsp;Następna&nbsp;&raquo;</span></a>';
  28.  
  29. }
  30. else
  31. {
  32. echo '<span class="arrows2">&nbsp;&nbsp;Następna&nbsp;&raquo;</span>';
  33. //echo '<span classs="arrows2">
  34. }
  35.  
  36.  
  37. ?>

a wiec mam takie sobie stronnicowanie!I chodzi o to ze chce zrobic aby ta stronka na ktorej jestem nie byla podlinkowana!Czyli jesli przykladowo mam cos takiego


<< Poprzednie 1| 2 Nastepne >>
i jezeli jestem na pierwszej stronie to chce aby ta jedynka nie byla linkien do pierwszej strony bo juz przeciez na niej jestem!
LBO
  1. <?php
  2.  
  3. for($j = 0; $j < $newsy; $j += $int_poile) {
  4. //your code
  5. }
  6. ?>


wewnatrz tej petli musisz umiescic warunek, mniej wiecej wygladajacy tak (pogladowy schemat, bo musze sie domyslac czym sa zmienne - sam kombinuj)
  1. <?php
  2. //zapewne $_GET['od'] zastepujesz inna zmienna
  3. //pomocne w przypadku domyslnej strony
  4. if ($j == $_GET['od']) {
  5. //jestes teraz na tej stronie
  6. echo '<b>'.($x + 1).'</b>';
  7. } else {
  8. //wypisz link do innej podstrony
  9. echo '<a href="index.php?od=' . $j . '">' .($x + 1). '</a>';
  10. }
  11. $x++
  12. ?>
droicyn
Wielkie dzięki LBO!!Wszystko działa jak należy pozdro dla Ciebie!
ale mam jeszcze jeden problem! chodzi o to ze wprowadzilem taka opcje! ze wybieram sobie po ile ma wyswietlac mi newsow na stronie i gdy wyswietlam ze po 1 na stronie to pokazuje mi sie 6 stron czyli dobrze ale gdy przejde na strone inna np 3 to on wyswietla mi 5 newsow i ze sa dwie stronki do wyswietlenia!poprostu zapomina co ma robic to kod mam nadzieje ze wystarczajacy
  1. <?php
  2.  
  3. $count = 0;
  4. while($record_smiles = mysql_fetch_array($result_smiles))
  5. {
  6. $array_smiles[$count]['smile'] = $record_smiles['smile'];
  7. $array_smiles[$count]['file'] = $record_smiles['file'];
  8.  
  9. $count++;
  10. }
  11. if (isset($_POST['send']))
  12. {
  13. $int_poile = $_POST['submit_poile'];
  14. if(!isset($_GET['od']))
  15. {
  16. $int_od = 0;
  17.  
  18. }
  19. else
  20. {
  21. $int_od = $_GET['od'];
  22. }
  23. }
  24. else
  25. {
  26. $int_poile = 5;
  27. if(!isset($_GET['od']))
  28. {
  29. $int_od = 0;
  30.  
  31. }
  32. else
  33. {
  34. $int_od = $_GET['od'];
  35. }
  36. }
  37. $sql = "SELECT id, status, text_short, title, nick, image, link, date, mail FROM ne
    ws_news WHERE status='1' ORDER BY date DESC"
    ; 
  38. $result_num = mysql_query($sql);
  39. $newsy = 0;
  40. $newsy = mysql_num_rows($result_num);
  41.  
  42. $limit = ' LIMIT ' . $int_od . ', ' . $int_poile;
  43.  
  44. $sql = "SELECT id, status, text_short, title, nick, image, link, date, mail FROM ne
    ws_news WHERE status='1' ORDER BY date DESC $limit"
    ; 
  45. $result = mysql_query($sql);
  46.  
  47.  
  48. while($record = mysql_fetch_array($result))
  49. {
  50. if ($record['status'] == 1)
  51. {
  52. $id_news = $record['id'];
  53. $num_comments = 0;
  54.  
  55. $sql = "SELECT id, id_news FROM news_comments WHERE id_news='$id_news'";
  56. $result_comments = mysql_query($sql);
  57. $num_comments = mysql_num_rows($result_comments);
  58.  
  59. for ($i = 0; $i < count($array_smiles); $i++)
  60. {
  61. $record['text_short'] = str_replace($array_smiles[$i]['smile'], '<img src="images/smiles/icon_' . $array_smiles[$i]['file'] . '.gif" />', $record['text_short']);
  62. }
  63.  
  64. if(!empty($record['image']))
  65. {
  66. $image = '<img src="images/avatars/' . $record['image'] . '">';
  67. }
  68. else
  69. {
  70. $image = '';
  71. }
  72.  
  73. $link_short = $record['link'];
  74.  
  75. if(strlen($link_short) > 20)
  76. {
  77. $link_short = substr($link_short, 0,20);
  78. $link_short .= '...';
  79. }
  80.  
  81. if (!empty($record['link']))
  82. {
  83. $link = '<br /><br /><b>Link:</b> <a href="' . $record['link'] . '" target="_blank">' . $link_short . '</a>';
  84. }
  85. else
  86. {
  87. $link = '';
  88. }
  89.  
  90. //tu wyswietlam nick itp itd
  91.  
  92. }
  93.  
  94. }
  95.  
  96. <table class="news_short" cellpadding="0" cellspacing="0" width="300">
  97. <form enctype="multipart/form-data" action="index.php" method="post">
  98. <tr>
  99. <td class="nick" width="70" align="center">Pokaż po</td>
  100. <td class="nick" width="60" align="center"><select name="submit_poile"><option>1<option selected>5<option>10<option>25</td>
  101. <td class="nick" width="110" align="center"> newsów na stronie</td>
  102. <td class="nick" width="60" align="center"><input type="submit" name="send" value="Pokaż" /></td>
  103. </tr>
  104. </form>
  105. </table>
  106. <br /><br />';
  107. $prev = $int_od - $int_poile;
  108. if($prev >=0)
  109. {
  110. echo '<a href="index.php?od=' . $prev . '"><span class="arrows">&laquo; Poprzednia&nbsp;&nbsp;</span></a>';
  111.  
  112. }
  113. else
  114. {
  115. echo '<span class="arrows2">&laquo; Poprzednia&nbsp;&nbsp;</span>';
  116.  
  117. }
  118. $x = 0;
  119. for($j = 0; $j<$newsy; $j+=$int_poile)
  120. {
  121. if ($j != 0)
  122. {
  123. echo '<span class="arrows">&nbsp;|&nbsp;</span>';
  124. }
  125. if($j == $_GET['od'])
  126. {
  127. echo '<b>'.($x + 1).'</b>';
  128. }
  129. else
  130. {
  131. echo '<a href="index.php?od=' . $j . '">' .($x + 1). '</a>';
  132. }
  133. $x++;
  134. }
  135. $next = $int_od + $int_poile;
  136. if($next<floor($newsy))
  137. {
  138. echo '<a href="index.php?od=' .$next . '"><span class="arrows">&nbsp;&nbsp;Następna&nbsp;&raquo;</span></a>';
  139.  
  140. }
  141. else
  142. {
  143. echo '<span class="arrows2">&nbsp;&nbsp;Następna&nbsp;&raquo;</span>';
  144.  
  145. }
  146.  
  147.  
  148. ?>
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.