Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Paginnacja skrypt oparty o smarty
XP'ek
post 17.11.2011, 09:56:16
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


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
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 09:57:53
Post #2





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




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?


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

"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
XP'ek
post 17.11.2011, 10:01:36
Post #3





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


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
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 10:02:07
Post #4





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




To pokaż jak próbowałeś i napisz co ci nie działa.


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

"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
XP'ek
post 17.11.2011, 10:12:15
Post #5





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


  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

Ten post edytował XP'ek 17.11.2011, 10:13:08
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 10:33:08
Post #6





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




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?


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

"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
XP'ek
post 17.11.2011, 10:46:07
Post #7





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


tak dokładnie
Kod
index.php?galleries=$1&subpage=$2
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 10:48:56
Post #8





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




No ale ponawiam pytanie: co ci się gdzie nie przekazuje??

Poza tym zrób print_r($_GET);


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

"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
XP'ek
post 17.11.2011, 11:03:32
Post #9





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


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

Ten post edytował XP'ek 17.11.2011, 11:03:48
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 11:08:32
Post #10





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




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.


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

"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: 8.07.2025 - 06:11