Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze stronicowaniem
Forum PHP.pl > Forum > PHP
Sutek
Witam

Otóż mam problem ze stronnicowaniem.Szukałem bardzo wielu podopowiedzi (kodów) na temat stronnicowania.Lecz żaden mi nie chce działać tzn.Działa mi (do półowy) ,liczy mi ilość zmiennych pokazuje linki ,ale na każdej stronie jest to samo...Bardzo proszę o pomoc.Dodam ,iż jest to kod pobrany ze strony wikiphp.pl
  1. <?php
  2. // ile ma być wyświetlanych rekordów na stronie
  3. define('ILOSC_WYNIKOW_NA_STRONIE', 2);
  4. /*
  5.  * połączenie z bazą itp
  6.  */
  7.  
  8. $conn=mysql_connect("localhost", "root", "krasnal");         
  9.  
  10. mysql_select_db("lol", $conn);    
  11. $SQL = "SELECT COUNT(*) FROM News"; // Zapytanie liczące ilość wpisów w bazie
  12. $RES = mysql_query($SQL);
  13. list($iloscWpisow) = mysql_fetch_row($RES);
  14.  
  15. $SQL = "SELECT * 
  16.        FROM News
  17.        ORDER BY data ASC 
  18.        LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  19. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając 
    od $_GET['porcja']*ILOSC_NA_STRONIE
  20. $RES = mysql_query($SQL); // wykonujemy zapytanie
  21. while($AFR = mysql_fetch_assoc($RES)){
  22.    /*Wyswietlanie wyników, przykładowo:*/
  23.    echo 'Tytuł: '.$AFR['Tytuł'].'<br />';
  24. }
  25.  
  26. //Teraz wypadało by wyswietlic jakąc nawigację 
  27.  
  28. //jesli nie jestesmy na pierwszej stronie
  29. if($_GET['porcja']>0){ 
  30.     //wyswietlamy link do poprzedniej strony
  31.    echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> ';
  32. }
  33.  
  34. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  35.    echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  36. }
  37. //jesli nie jestesmy na ostatniej stronie
  38. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){ 
  39.   //wyswietlamy link do nastepnej strony
  40.    echo ' <a href="?porcja='.($_GET['porcja']+1).'">Następne</a>';
  41. }
  42. ?>
TomASS
Próbowałeś może klasy nospora albo klasy Morkai?
Sutek
Nie myśle ,że na klasy jestem jeszcze zbyt poczatkujący.Jeżeli już nie będę miał wyboru to pobrubuje ,ale wolał ,bym narazie nie.Narazie próbuje się uporać z tym kodem...
nospor
NIe wiem co chcesz? Ten kod działa ok. Jedyne co można dorobić, to to, by nie dawał linka na aktualne stronie:
  1. <?php
  2.  
  3. //....
  4. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  5. if ($i == $_GET['porcja'])
  6. echo '[ '.($i+1).' ]';
  7. else
  8.  echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  9. }
  10. //...
  11.  
  12. ?>


co do polaczneia z klasą to nie dawno był identyczny problem. Chyba nawet tem sam skrypt uzywano:
http://forum.php.pl/index.php?showtopic=35749
Sutek
Niestety u mnie nie działa ten kod poprawnie sad.gif Liczy ilość i pokazuje strony .Tylko w tym jest problem ,że na każdej stronie jest to samo bez jakiejkolwiek zmiany.Może cos mam źle w swoim kodzie ?

  1. <?php
  2.  
  3. $conn=mysql_connect("localhost", "root", "krasnal");  
  4.  
  5. mysql_select_db("lol", $conn);
  6.  
  7. $result=mysql_query("select * from News order by data DESC", $conn);
  8.  
  9.  
  10. while ($myrow = mysql_fetch_assoc($result))
  11. {
  12. /* elementy tablicy*/
  13.  
  14. echo "<center>";
  15. echo "<table width="400" border="0"background=file:///C|/usr/krasnal/www/news/PHP_strona/stopka.gif bordercolor=#000000 bgcolor=#000000>";
  16. echo "<P>";
  17. echo "<tr>";
  18. echo "<td>";
  19. echo "<font size=2><font color=#FFFFFF>&nbsp;&nbsp;&nbsp;".$myrow["Tytuł"];
  20. echo "</font></font>"; 
  21. echo "<td><td width=210><div align=center><FONT COLOR=#CCCCCC><font size=1><FONT FACE=Arial Black><STRONG>".$myrow["Data"];
  22. echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></font> </div></STRONG>";
  23. echo "</td>";
  24. echo "</td>";  
  25. echo "</tr>";
  26. echo "</table>";
  27. echo "<table width="400" border="1" cellpadding=0 cellspacing=0 bordercolor=#00350E bgcolor=#000000>";
  28. echo "<tr>";
  29. echo "<td><font size=1><FONT COLOR=#CCCCCC><FONT FACE=tahoma>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ".$myrow["Tresc"];
  30. echo "</font></font></font>";
  31. echo "<font size=1><FONT COLOR=#CCCCCC><FONT FACE=Verdana, Arial, Helvetica, sans-serif><div align=right><i><u><b> ".$myrow["Nick"];
  32. echo "</font></font></i></u></b>";
  33. echo "&nbsp;&nbsp;</div>";
  34. echo "id" .$myrow["id"];
  35. echo "</b>";
  36. echo "</td>";
  37. echo "</tr>";
  38. echo "</P>";
  39. echo "</table>";
  40. echo ("<p>&nbsp</p>");
  41.  }
  42. ?>
  43. <?php
  44. // ile ma być wyświetlanych rekordów na stronie
  45. define('ILOSC_WYNIKOW_NA_STRONIE', 5);
  46. /*
  47.  * połączenie z bazą itp
  48.  */
  49. $SQL = "SELECT COUNT(*) FROM News"; // Zapytanie liczące ilość wpisów w bazie
  50. $RES = mysql_query($SQL);
  51. list($iloscWpisow) = mysql_fetch_row($RES);
  52.  
  53. $SQL = "SELECT * 
  54.  FROM News
  55.  ORDER BY data ASC 
  56.  LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  57. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając 
    od $_GET['porcja']*ILOSC_NA_STRONIE
  58. $RES = mysql_query($SQL); // wykonujemy zapytanie
  59. while($AFR = mysql_fetch_assoc($RES)){
  60.  /*Wyswietlanie wyników, przykładowo:*/
  61.  echo 'Tytuł: '.$AFR['Tytuł'].'<br />';
  62. }
  63.  
  64. //Teraz wypadało by wyswietlic jakąc nawigację 
  65.  
  66. //jesli nie jestesmy na pierwszej stronie
  67. if($_GET['porcja']>0){ 
  68. //wyswietlamy link do poprzedniej strony
  69.  echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> ';
  70. }
  71.  
  72. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  73.  echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  74. }
  75. //jesli nie jestesmy na ostatniej stronie
  76. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){ 
  77. //wyswietlamy link do nastepnej strony
  78.  echo ' <a href="?porcja='.($_GET['porcja']+1).'">Następne</a>';
  79. }
  80. ?>
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.