Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Paginacja/Stronicowanie - problem z adresem
Forum PHP.pl > Forum > PHP
mdfknygga
Witam

Mam index.php który podstawia mi dynamicznie zawartość po id przechowywanym w tablicy (plik z funkcją Title):

plik index.php

  1. <?php
  2. // zmienna potrzebna do prawidlowego wczytania includowanych plikow
  3. $add_site = true;
  4. include "function/function_title.php";
  5. ?>
  6. <div id="wrapper">
  7. <?php include "include/topCont.inc.php"; ?>
  8. </div>
  9. <div id="wrapper">
  10. <?php
  11.  
  12. $id = $_GET['id'];
  13.  
  14. if(!empty($id)) {
  15.  
  16. if(is_file("page/$id.php")) include "page/$id.php";
  17.  
  18. else include "page/404.php";
  19.  
  20. }
  21.  
  22. else include "page/0.php";
  23.  
  24. ?>
  25. </div>
  26. <div id="wrapper">
  27. <?php include "include/footerCont.inc.php"; ?>
  28. </div>


id z tablicy, plik function_title.php:

  1. <?php
  2.  
  3. // sprawdzenie czy zmienna $add_site istnieje
  4. if(!$add_site) exit;
  5.  
  6. // funkcja Title
  7. function Title($id) {
  8. $array_title = array(
  9. 0=>'tytul strony',
  10. 1=>'tytul strony',
  11. 2=>'tytul strony',
  12. 3=>'tytul strony',
  13. 4=>'tytul strony',
  14. 5=>'tytul strony',
  15. 6=>'tytul strony',
  16. 7=>'tytul strony',
  17. 8=>'tytul strony',
  18. 9=>'tytul strony' ,
  19. 10=>'tytul strony' ,
  20. 11=>'tytul strony' ,
  21. 12=>'tytul strony' ,
  22. 13=>'tytul strony' ,
  23. 14=>'tytul strony' ,
  24. 15=>'Pościele - Rozmiar 160x200' );
  25. // i tak dalej kolejne podstrony
  26. // porownujemy zmienna $id z kluczem z tablicy
  27. foreach($array_title as $key => $val)
  28. if($id == $key) return $val;
  29. }
  30. ?>



pliki do załadowania mam w katalogu page, nazwy plików odpowiadają numerom z tablicy w pliku function_title.php,
ładuję do zawartości plik o id 15 -> index.php?id=15, 15 zawiera moją galerię, galeria jest bardzo prosta, wyświetla
zdjęcia które znajdują się w podanym katalogu, dzielę je na bloki po np 20 zdjęć na stronę, skrypt generuje mi ile stron
zawiera moja galeria i teraz właśnie w kodzie odpowiedzialnym za paginację jest problem, link do kolejnych stron
wygląda nastepujaco :

  1. <ul id="nawigacja">
  2. <?php
  3.  
  4. ///link do poprzedniej strony
  5. if($strona > 0) echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.($strona).'" >Poprzednia strona</a></li>';
  6. for($i = 1; $i <= $iloscStron; ++$i){
  7.  
  8. //linki do poszczególnych stron
  9.  
  10. $check_li = '';
  11. if($i == $_GET['strona'])
  12. {
  13. $check_li = 'style="font-size:14px; background: #eef1f8; padding: 6px 10px;"';
  14. }
  15. echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.$i.'" '.$check_li.'>'.$i.'</a></li>';
  16. }
  17.  
  18. //link do następnej strony
  19. if($strona < $iloscStron-1) echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.($strona+2).'" >Następna strona</a></li>';
  20. ?>
  21. </ul>



http://domena/index.php?id=15?strona=2 ale w tablicy nie mam id=15?strona=2 i wtedy ładuje stronę

  1. else include "page/404.php";


zawartość pliku z galerią, 15.php:

  1. <!--Pościele - Rozmiar 160x200-->
  2.  
  3. <?php
  4.  
  5. // filtrowanie zmiennych
  6. foreach($_GET as $k=>$v)
  7. $get[$k] = (preg_match("/[0-9a-z_]+/",$v) ? stripslashes(htmlspecialchars(strip_tags($v))): '');
  8.  
  9. // sprawdzenie czy zmienna $add_site istnieje
  10. if(!$add_site) exit;
  11. ?>
  12.  
  13. <script type="text/javascript" src="js/highslide-with-gallery.js"></script>
  14. <script type="text/javascript">
  15. hs.graphicsDir = 'js/images/';
  16. hs.align = 'center';
  17. hs.transitions = ['expand', 'crossfade'];
  18. hs.outlineType = 'rounded-white';
  19. hs.fadeInOut = true;
  20. hs.dimmingOpacity = 0.75;
  21.  
  22. // Add the controlbar
  23. if (hs.addSlideshow) hs.addSlideshow({
  24. //slideshowGroup: 'group1',
  25. interval: 5000,
  26. repeat: false,
  27. useControls: true,
  28. fixedControls: 'fit',
  29. overlayOptions: {
  30. opacity: .75,
  31. position: 'bottom center',
  32. hideOnMouseOut: true
  33. }
  34. });
  35. </script>
  36.  
  37.  
  38. <div class="nb_kontener">
  39. <ul>
  40. <?php
  41. //katalog z dużymi obrazkami
  42. $katalog = "160x200";
  43.  
  44. //katalog z miniaturkami
  45. $katalogMiniaturki = "160x200";
  46.  
  47. //ilość zdjęć na stronie
  48. $naStronie = 20;
  49.  
  50. //czy ma być opis zdjęcia - jego numer - true to tak, false to nie
  51. $opisZdjecia = true;
  52.  
  53. //---------------------------------------------
  54. //ilość zdjęć - liczy pliki w katalogu
  55. $ilosc = count(glob("./$katalog/*.jpg"));
  56.  
  57. //ilość stron
  58. $iloscStron = ceil($ilosc/$naStronie);
  59.  
  60. //odczyt katalogu z obrazkami
  61. $pliki = glob($katalog.'/*.jpg');
  62. $i = 0;
  63.  
  64. //utworzenie tablicy z obrazkami
  65. foreach($pliki as $key => $value){
  66. $tab[$i] = $value;
  67. $i++;
  68. }
  69.  
  70. //sortowanie tablicy
  71. sort($tab);
  72.  
  73. for($i = 0; $i < $ilosc; $i++){
  74.  
  75. //wyodrębnienie części nazwy z pliku
  76. $nazwa=basename($tab[$i], ".jpg");
  77. $prefix=explode('_', ($nazwa));
  78.  
  79. if($opisZdjecia) $opisZdjecia = '<h3>Pościel ELWAY rozmiar '.($katalog).'</h3>'. '<h2>'.'Wzór nr '.($prefix[0]).'</h2>';
  80. $tablica[$i] = '<li><a href="'.$tab[$i].'" class="highslide" onclick="return hs.expand(this)" title="Posciel ELWAY rozmiar '.($katalog).' Wzór nr '.($prefix[0]).'"><img src="'.str_replace($katalog, $katalogMiniaturki, $tab[$i]).'" />'.$opisZdjecia.'</a></li>';
  81. }
  82.  
  83. //sprawdza aktualny numer strony
  84. if(isset($_GET['strona']) && $_GET['strona'] > 0 && $_GET['strona'] <= $iloscStron) $strona = $_GET['strona']-1;
  85. else $strona = 0;
  86.  
  87. $poczatek = $strona * $naStronie;
  88. if($poczatek >= $ilosc) $poczatek = 0;
  89.  
  90. $koniec = $poczatek + $naStronie;
  91. if($koniec >= $ilosc) $koniec = $ilosc;
  92.  
  93. //generowanie wykazu
  94. for($i = $poczatek; $i < $koniec; ++$i){
  95. echo $tablica[$i]."\n";
  96. }
  97. ?>
  98. </ul>
  99. <div class="clearfix"> </div>
  100. <hr style="color: #ededee; background: #ededee; width: 100%; height: 1px; margin: 20px auto 20px auto; border: none;" />
  101.  
  102. <?php
  103.  
  104. //ilość zdjęć/wzorów - liczy pliki w katalogu
  105. $ilosc = count(glob("./$katalog/*.jpg"));
  106. {echo '<p class="iloscwzorow">Znaleziono '.($ilosc).' wzory/ów</p>';}
  107. ?>
  108.  
  109. <ul id="nawigacja">
  110. <?php
  111.  
  112. ///link do poprzedniej strony
  113. if($strona > 0) echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.($strona).'" >Poprzednia strona</a></li>';
  114. for($i = 1; $i <= $iloscStron; ++$i){
  115.  
  116. //linki do poszczególnych stron
  117.  
  118. $check_li = '';
  119. if($i == $_GET['strona'])
  120. {
  121. $check_li = 'style="font-size:14px; background: #eef1f8; padding: 6px 10px;"';
  122. }
  123. echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.$i.'" '.$check_li.'>'.$i.'</a></li>';
  124. }
  125.  
  126. //link do następnej strony
  127. if($strona < $iloscStron-1) echo '<li><a href="http://'.$_SERVER['HTTP_HOST'].'/index.php?id=15?strona='.($strona+2).'" >Następna strona</a></li>';
  128. ?>
  129. </ul>
  130. </div>
  131.  
  132.  
  133. <?php ob_end_flush(); ?>



Na żywo jak to teraz działa można zobaczyć : http://poscielelway.pl/index.php?id=15


Nie wiem czy trzeba zmienić coś w kodzie paginacji galerii czy może w dynamicznym ładowaniu stron. Proszę o pomoc.
nospor
Kolejne parametry laczy sie przez & a nie przez ?
mdfknygga
Dziękuję, banalna sprawa.
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.