Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Stronicowanie - rekord...
Sasuke Uchiha
post 28.05.2012, 00:42:26
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Witam, mam problem ze stronicowaniem a konkretnie w bazie posiadam 11 rekordów ale niestety gdy ustawię sobie przykładowo porcję na 9 rekordów to wyświetla mi tylko 9 rekordów i mam jedną stronę a gdy ustawię porcję rekordów równą 5 to wtedy mam 2 strony po 5 rekordów czyli 10 łącznie no i brakuje tak czy siak 1 rekordu ;/ Mam pytanie drodzy koledzy gdzie ja tutaj popełniam błąd questionmark.gif

  1. <?php
  2. define('limit_video', 9);
  3.  
  4. $video = "SELECT SQL_CALC_FOUND_ROWS * FROM video ORDER BY id DESC LIMIT ". mysql_escape_string((int)$_GET['porcja'] *limit_video).",".limit_video;
  5.  
  6. $video_query = mysql_query($video);
  7. <table cellspacing="0" cellpadding="0">
  8. <tr><td><img src="img/bg_site_video_1.png"></td></tr>
  9. <tr><td align="center" valign="top" style="padding: 15px;width: 504px; height: 200px; background-image: url(img/bg_site_repeat_2.png);">
  10. ';
  11. while($video_row = mysql_fetch_array($video_query))
  12. {
  13. echo '<div style="margin-top: 5px; margin-right: 3px;width: 155px;float: left;">
  14. <div><font style="color: #ffcf1a; font-family: Arial; font-size: 12px;"><b>'.$video_row['title'].'</b></font></div>
  15. <div style="margin-top: 5px; margin-bottom: 5px;width: 155px; height: 105px; background-image: url(img/bg_youtube_2.png); background-repeat: no-repeat;"><a href="http://'.$video_row['youtube'].'"><img border="0" style="margin-top: 9.5px;" src="img/'.$video_row['avatar'].'"></a></div>
  16. <div><font style="color: #8a8a8a; font-family: Arial; font-size: 11px;">Dodano: '.$video_row['date'].'</font><br><font style="color: #8a8a8a; font-family: Arial; font-size: 11px;">'.$video_row['category'].'</font></div>
  17. <div><font style="color: #ffffff; font-family: Arial; font-size: 12px;">'.$video_row['info'].'</font></div>
  18. </div>';
  19. }
  20.  
  21.  
  22.  
  23.  
  24.  
  25. echo'</td></tr>
  26.  
  27. <tr><td align="top" style="width: 504px; height: 27px; background-image: url(img/bg_site_repeat_2.png);">';
  28.  
  29. //Pobieramy ilosc danych w bazie
  30. $video = "SELECT FOUND_ROWS() as video";
  31. $video_query = mysql_query($video);
  32.  
  33.  
  34.  
  35. list($iloscWpisow) = mysql_fetch_row($video_query);
  36.  
  37.  
  38. echo '<center>';
  39.  
  40. if($_GET['porcja']>0){
  41.  
  42.  
  43. echo '<div><a href="?site=media&&porcja='.($_GET['porcja']-1).'"><img border="0" src="images/left_cursor.png"></a> ';
  44. }
  45.  
  46. for($i = 0;$i<floor($iloscWpisow/limit_video);$i++){
  47. echo '<a href="?site=media&&porcja='.($i).'">[ '.($i+1).' ]</a> ';
  48. }
  49.  
  50.  
  51. if($_GET['porcja']<floor($iloscWpisow/limit_video)-1){
  52.  
  53. echo ' <a href="?site=media&&porcja='.($_GET['porcja']+1).'"><img border="0" src="images/right_cursor.png"></a></div>';
  54. }
  55.  
  56. echo '</center>';
  57.  
  58. echo '</td></tr>
  59.  
  60. <tr><td><img src="img/bg_site_bottom_3.png"></td></tr>
  61. </table>
  62. ';
  63.  
  64. ?>


acha i jak ustawię porcję = 1 to wtedy mam 11 stron i jest wtedy te 11 rekordów lol :/

Ten post edytował Sasuke Uchiha 28.05.2012, 00:44:51
Go to the top of the page
+Quote Post
kpt_lucek
post 28.05.2012, 00:59:09
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Ja jeżeli chodzi o stronicowanie operowałem na GET'ach.

Mianowicie: www.mojastrona.pl/index.php?jakis_get=a&page=x
Samo zapytanie budowałem tak:
  1. if(!empty($_GET[page]) && is_numeric($_GET[page]))
  2. {
  3. $limit = " LIMIT ".(($_GET[page]-1)*$ilosc_rekordow).", ".$_GET[page]*$ilosc_rekordow;
  4. }else{
  5. $limit = " LIMIT 0, ".(1*$ilosc_rekordow);
  6. }
  7.  
  8. $sql = mysql_query("SELECT `costam` FROM `gdzies` WHERE `cos` = 'innecos'".$limit);


Pozdrawiam

Ten post edytował kpt_lucek 28.05.2012, 01:01:34


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


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
k_@_m_i_l
post 28.05.2012, 09:19:06
Post #3





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Zamień floor na ceil i będzie dobrze.


--------------------
"PHP to człowiek. MySQL to również człowiek."
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: 16.06.2025 - 19:03