Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] pętla podstrony
Forum PHP.pl > Forum > Przedszkole
krystian1991x
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
wookieb
Google -> php paginacja
krystian1991x
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}
wookieb
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.
krystian1991x
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
wookieb
Najpierw przeczytaj jak działa paginacja i jak się ją realizuje a potem zacznij stwierdzać jak wiele "zmienia się" logika działania w smarty.
krystian1991x
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
wookieb
A gdzie w twoim skrypcie w ogóle pobierasz liczbę wszystkich newsów?
krystian1991x
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. ?>
nospor
http://forum.php.pl/index.php?showtopic=16...mp;#entry799273
Jeden temat wystarczy smile.gif
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.