Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [php] pętla podstrony
krystian1991x
post 19.10.2010, 19:52:03
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


Mam pytanie jak podzielić np wyświetlane newsy na strony czyli tak jak jest na tych większych portalach że np na strone pokazuje 10 newsów i potem trzeba przejść na następną i tak dalej i tak dalej a pod spodem są np numerki jako odnośniki do tych stron
Go to the top of the page
+Quote Post
wookieb
post 19.10.2010, 19:58:54
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Google -> php paginacja


--------------------
Go to the top of the page
+Quote Post
krystian1991x
post 19.10.2010, 20:04:21
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


Dlaczego robisz offtopic.gif ? forum jest od tego żeby załatwiać takie sprawy w jego zakresie a nie goglować ...

mój problem polega na tym że zainwestowałem w smarty ;o więc ciężko coś na ten temat odszukać w google

  1. $result = mysql_query("SELECT id, title, author, text, img, date, commnets FROM news ORDER BY id DESC")
  2. or die("Niepoprawne zapytanie MySQL");
  3.  
  4.  
  5.  
  6. while ($news = mysql_fetch_array($result))
  7. {
  8. $tablica[] = $news;
  9. }
  10.  
  11.  
  12.  
  13. $smarty->assign('result',$tablica);

tpl
  1.  
  2. {foreach from=$result key=myId item=news name=news}
  3. <div style="margin-top: 25px;margin-left: 78px; width: 480px; background-image: url('templates/images/bgnews02.jpg');">
  4. <table cellspacing="0" cellpadding="0"><tr><td><img src="templates/images/bgnews01.jpg"></td></tr></table>
  5. <table style="font-family: Arial;font-size: 18px; color: #e1d2d2; margin-left: 8px; margin-top: 5px;width: 465px; height: 51px; background-repeat: repeat-x; background-image: url('templates/images/titlenews.jpg');">
  6. <tr>
  7. <td style="padding-left: 8px;padding-bottom: 10px;">{$news.title}</td>
  8. </tr>
  9. <tr>
  10. <td style="padding: 5px; font-family: Arial; font-size: 13px;color: #acacac; padding-left: 15px; padding-top: 8px;"><img src="templates/images/{$news.img}.jpg" style="padding-right: 8px;" align='left' />{$news.text}</td>
  11. </tr>
  12. <tr><td>
  13. <table style="font-family: Tahoma; font-size: 12px;width: 450px; height: 30px;color: #b0b0b0;background-color: #303030;outline-color: #242424;outline-style: solid; outline-width: 1px;" align="center"><tr>
  14. <td style="padding-left: 5px;" align="left">Napisał <font color="#FFFFFF">{$news.author}</font> dnia <font color="#FFFFFF">{$news.date}</font></td>
  15. <td align="right"><a href="index.php?id=comments&cm={$news.id}">komentarze[<font color="#FFFFFF">{$news.commnets}</font>]</a></td>
  16. </tr></table>
  17.  
  18. </td></tr>
  19. <table cellspacing="0" cellpadding="0">
  20. <tr>
  21. <td><img src="templates/images/bgnews03.jpg"></td>
  22. </tr>
  23.  
  24.  
  25. </div>
  26. {/foreach}
Go to the top of the page
+Quote Post
wookieb
post 19.10.2010, 20:07:52
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie robię offtopa. Temat był wałkowany miliony razy więc odsyłam Cię przewałkowanych materiałów na ten temat. Bo chyba nie liczysz na to, że
1) będziemy Ci robić ctrl + c, ctrl + v z w/w informacji
2) zrobimy to za Ciebie
3) będziemy robić redundancję informacji poprzez ubranie w inne słowa

Poza tym to są podstawy.

Ten post edytował wookieb 19.10.2010, 20:08:24


--------------------
Go to the top of the page
+Quote Post
krystian1991x
post 19.10.2010, 20:10:06
Post #5





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


jak nie masz nic na temat do powiedzenia to nie pisz ... Nie widziałem nigdzie aby był poruszany temat powiązany ze smarty a jak by nie patrzeć trochę to inaczej funkcjonuje sciana.gif
Go to the top of the page
+Quote Post
wookieb
post 19.10.2010, 20:12:00
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Najpierw przeczytaj jak działa paginacja i jak się ją realizuje a potem zacznij stwierdzać jak wiele "zmienia się" logika działania w smarty.


--------------------
Go to the top of the page
+Quote Post
krystian1991x
post 19.10.2010, 20:16:14
Post #7





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


czytam i nie rozumiem smile.gif Nie rozumiem jak mam to połączyć ze smarty i jak mam to ogólnie wpieprzyć do mojego skryptu oO dziwne rzeczy opowiadam ? haha.gif
Go to the top of the page
+Quote Post
wookieb
post 19.10.2010, 20:18:48
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A gdzie w twoim skrypcie w ogóle pobierasz liczbę wszystkich newsów?


--------------------
Go to the top of the page
+Quote Post
krystian1991x
post 19.10.2010, 22:05:16
Post #9





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


heh mam aktualnie coś takiego
  1. <?php
  2.  
  3. $subpage = $_GET['page'];
  4. $perPage = 5;
  5.  
  6. if (!empty($_GET['subpage']) && (is_numeric($_GET['subpage'])))
  7. {
  8. $subpage = (int) $_GET['subpage'];
  9. }
  10.  
  11. if ($subpage < 1)
  12. {
  13. $subpage = 1;
  14. }
  15.  
  16. $start = ($subpage - 1) * $perPage;
  17.  
  18. $news_query = mysql_query('SELECT count(id)
  19. AS totality
  20. FROM news ');
  21.  
  22. $results_query= mysql_fetch_array( $news_query );
  23.  
  24. $news_results = $results_query['totality'];
  25.  
  26. $smarty->assign('news_totality',$news_results);
  27.  
  28. $result = mysql_query("SELECT id, title, author, text, img, date, commnets
  29. FROM news
  30. ORDER BY id DESC") or die("Niepoprawne zapytanie MySQL");
  31.  
  32.  
  33.  
  34. while ($news = mysql_fetch_array($result))
  35. {
  36.  
  37. $tablica[] = $news;
  38.  
  39. }
  40.  
  41. $smarty->assign('result',$tablica);
  42.  
  43. ?>

wszystkie przykłady odnoszą się do czystego php a jak ja mam wszystko to co tam jest zawrzeć w jednej tablicy i wyświetlić to w tpl ?! ;/

Aktualnie mam takie coś teraz nie wiem za bardzo jak to w smarty przedstawić ...

  1. <?php
  2.  
  3. $subpage = $_GET['page'];
  4. $perPage = 5;
  5.  
  6. if (!empty($_GET['subpage']) && (is_numeric($_GET['subpage'])))
  7. {
  8. $subpage = (int) $_GET['subpage'];
  9. }
  10.  
  11. if ($subpage < 1)
  12. {
  13. $subpage = 1;
  14. }
  15.  
  16. $start = ($subpage - 1) * $perPage;
  17.  
  18. $news_query = mysql_query('SELECT count(id)
  19. AS totality
  20. FROM news ');
  21.  
  22.  
  23. $result = mysql_query("SELECT id, title, author, text, img, date, commnets
  24. FROM news
  25. ORDER BY id DESC LIMIT $start, $perPage ") or die("Niepoprawne zapytanie MySQL");
  26.  
  27. if(mysql_real_escape_string((!isset($_GET['id'])) or empty($_GET['id'])))
  28. {
  29. while ($news = mysql_fetch_array($result))
  30. {
  31.  
  32. $tablica[] = $news;
  33.  
  34. }
  35. }
  36. $prev = $subpage - 1;
  37. $next = $subpage + 1;
  38. $prevLink = 'index.php?page='.$prev;
  39. $nextLink = 'index.php?page='.$next;
  40.  
  41. $ilosc_wierszy = mysql_num_rows($news_query);
  42.  
  43. if($subpage > 1)
  44. echo'<a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a> ';
  45.  
  46. $stron=round($ilosc_wierszy/$perPage);
  47.  
  48. for($i=1; $i<=$stron; ++$i)
  49. {
  50. if($i==$subpage)
  51. echo $i;
  52. else
  53. echo '<a style="text-decoration: none;" href="index.php?page='.$i.'">'.$i.' </a>';
  54. }
  55. if($subpage < $stron)
  56. echo ' <a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a>';
  57.  
  58. $smarty->assign('result',$tablica);
  59.  
  60. ?>


Ten post edytował krystian1991x 19.10.2010, 21:34:35
Go to the top of the page
+Quote Post
nospor
post 20.10.2010, 06:03:32
Post #10





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




http://forum.php.pl/index.php?showtopic=16...mp;#entry799273
Jeden temat wystarczy smile.gif


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

"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

Closed 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: 12.06.2025 - 11:08