Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Paginnacja skrypt oparty o smarty
Forum PHP.pl > Forum > Przedszkole
XP'ek
Witam,

Mam kod php wyglądający następująco

  1. $q = sprintf("SELECT cms_gpics.*,gslug FROM cms_gpics
  2. LEFT JOIN cms_galleries USING (`gid`)
  3. WHERE cms_gpics.gid = %d AND cms_gpics._deleted = 0 ",
  4. $r = $this->sql($q);
  5. while ($row = mysql_fetch_assoc($r))
  6. {
  7. $l[$row['pic_id']] = $row;
  8. }
  9. return $l;


i potrzebuję do niego zrobić stronicowanie jak najlepiej i najprościej to zrobić questionmark.gif
nospor
Tematów o stronicowaniu na forum są tysiące. W internecie miliony. Na forum jest kupa klas do tego. Czemu więc wpierw nie weźmiesz się za podstawową lekturę ze stronicowania?
XP'ek
czytałem już o stronicowaniach, nawet dwa podane przykłady na tym forum próbowałem podpiąć ale niestety bezskutecznie coś zawsze nie tak działa
nospor
To pokaż jak próbowałeś i napisz co ci nie działa.
XP'ek
  1.  
  2. $subpage = $_GET['subpage'];
  3. $perPage = 5;
  4. if (!empty($_GET['subpage']) && (is_numeric($_GET['subpage'])))
  5. {
  6. $subpage = (int) $_GET['subpage'];
  7. }
  8. if ($subpage < 1)
  9. {
  10. $subpage = 1;
  11. }
  12. $start = ($subpage - 1) * $perPage;
  13.  
  14. $q = sprintf("SELECT cms_gpics.*,gslug FROM cms_gpics
  15. LEFT JOIN cms_galleries USING (`gid`)
  16. WHERE cms_gpics.gid = %d AND cms_gpics._deleted = 0 LIMIT ".$start.", ".$perPage."",
  17. $r = $this->sql($q);
  18. while ($row = mysql_fetch_assoc($r))
  19. {
  20. $l[$row['pic_id']] = $row;
  21. }
  22. return $l;
  23.  
  24. $prev = $subpage - 1;
  25. $next = $subpage + 1;
  26. $prevLink = 'galeria/'.$id.'/page-'.$prev;
  27. $nextLink = 'galeria/'.$id.'/page-'.$next;
  28. $ilosc_wierszy = mysql_num_rows($r);
  29. if($subpage > 1)
  30. echo'<a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a> ';
  31. $stron=round($ilosc_wierszy/$perPage);
  32. for($i=1; $i<=$stron; ++$i)
  33. {
  34. if($i==$subpage)
  35. echo $i;
  36. else
  37. echo '<a style="text-decoration: none;" href="galeria/'.$id.'/page-'.$i.'">'.$i.' </a>';
  38. }
  39. if($subpage < $stron)
  40. echo ' <a style="text-decoration: none;" href="'.$nextLink.'">Nast?pna strona</a>';
  41.  
  42.  


i tutaj już jest kwestia taka że nie mogę poradzić sobie z przekazaniem parametrów stronicowania anie przez echo anie przez smarty
nospor
Przekazać gdzie? Bo w kodzie widzę, generujesz linki. Widzę, że generujesz "ładne linki" i zakładam, że gdzieś tam robisz konwersje z ładnego linku na subpage?
XP'ek
tak dokładnie
Kod
index.php?galleries=$1&subpage=$2
nospor
No ale ponawiam pytanie: co ci się gdzie nie przekazuje??

Poza tym zrób print_r($_GET);
XP'ek
sprawdzałem i wyniki przerzuca tylko kwestia jest taka że nie mogę wyrzucić tego w smartach tam gdzie chce teraz..

ponieważ w index.php mam to zrobione tak

  1. elseif (isset($_GET['gallery']))
  2. {
  3. $t->assign('gallery',$fe->getGallery($_GET['gallery']));
  4. }


i teraz chce wyrzucić te wyniki pod zdjęciami by ładnie wyglądały
nospor
Raz ci nie działa w ogóle, raz nie możesz czegoś przerzucić ani przez echo ani przez smarty. Za chwilę jednak się okazuje, że wszystko ci jednak działa, tylko jakiegoś tam kodu wziętego z kosmosu (bo wcześniej go nie było) nie możesz przekazać do smarty.

A teraz postaw się w sytuacji osoby, która, nie widzi Twojego kodu i nie ma bladego pojęcia co ty tu wymyślasz co 5 minut co innego.
I jak już się postawisz w sytuacji tej osoby, to spróbuj opisać problem tak, by ta osoba go zrozumiała.
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.