Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php mysql]Stronicowanie
qiun
post 29.12.2004, 14:52:28
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 21.05.2004

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


Witam exclamation.gif!

Napisałem skrypt newsory lecz ni wiem jak dodać opcję aby wyniki na stronie mi sie stronicował np mam 26 wpisów do tabeli a na stronie wyświetlam 4 rekordy i teraz jak zrobić aby wyświetlały mi się strony[1] [2] ..[5][6] itd.

  1. <?php
  2.  
  3. mysql_connect (&#092;"127.0.0.1\", \"**\", \"**\") or
  4. die (&#092;"Nie można się połączyć z bazą MySql\");
  5. mysql_select_db (&#092;"cms\") or
  6. die (&#092;"Nie można się połączyć z bazą CMS\");
  7.  
  8. $wynik = mysql_query (&#092;"SELECT * FROM news WHERE ok =1 \". \"ORDER BY nr DESC LIMIT 0,4;\");
  9.  
  10. while ($rekord = mysql_fetch_array ($wynik))
  11.  
  12.  
  13. {
  14. echo (&#092;"<table align=\"center\" border=\"0\" width=\"250\">\");
  15. echo (&#092;"<tr>\");
  16. echo (&#092;" <td>\");
  17. echo &#092;"<p><b><a href=\"all.php?nr=\".$rekord[0].\"\">\";
  18. echo $rekord[2].&#092;"</a></b><br/>\".$rekord[3].\"<p>\";
  19. echo &#092;"<p align=right><i>\".$rekord[5].\",\" .$rekord[1].\"</i></p>\";
  20. echo (&#092;" </td>\");
  21. echo (&#092;"</tr>\");
  22. echo (&#092;"</table>\");
  23. }
  24.  
  25. ?>
Go to the top of the page
+Quote Post
crash
post 29.12.2004, 15:19:42
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Ustaw LIMIT w zapytaniu na:
  1. <?php
  2. ... LIMIT '.($_GET['strona'] * 4).', 4
  3. ?>

Licza stron to ilość wszysktich newsów podzielona przez 4. Przez GET przekazujesz numer strony. I tyle.


--------------------
Go to the top of the page
+Quote Post
qiun
post 29.12.2004, 15:38:15
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 21.05.2004

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


hmm zrobiłem tak
  1. <?php
  2. $intLimit = 4; //ilość rekordów na stronie;
  3.  
  4. if( empty( $_GET['nr'] ) )
  5. {
  6. $intCurrentPage = 0;
  7. }
  8. else
  9. {
  10. $intCurrentPage = $_GET['nr'];
  11. }
  12. mysql_connect (&#092;"127.0.0.1\", \"**\", \"**\") or
  13. die (&#092;"Nie można się połączyć z bazą MySql\");
  14. mysql_select_db (&#092;"cms\") or
  15. die (&#092;"Nie można się połączyć z bazą CMS\");
  16.  
  17. $wynik = mysql_query (&#092;"SELECT * FROM news WHERE ok =1 \". \"ORDER BY nr DESC LIMIT \".($intCurrentPage*$intLimit).\",\".$intLimit);
  18.  
  19. while ($rekord = mysql_fetch_array ($wynik))
  20.  
  21.  
  22. {
  23. echo (&#092;"<table align=\"center\" border=\"0\" width=\"250\">\");
  24. echo (&#092;"<tr>\");
  25. echo (&#092;" <td>\");
  26. echo &#092;"<p><b><a href=\"all.php?nr=\".$rekord[0].\"\">\";
  27. echo $rekord[2].&#092;"</a></b><br/>\".$rekord[3].\"<p>\";
  28. echo &#092;"<p align=right><i>\".$rekord[5].\",\" .$rekord[1].\"</i></p>\";
  29. echo (&#092;" </td>\");
  30. echo (&#092;"</tr>\");
  31. echo (&#092;"</table>\");
  32. }
  33. {
  34. echo $arrRow[ 'nr' ].' - '.$arrRow[ 'text' ].'<br>';
  35. }
  36. echo '<br>';
  37. for($i = 0; $i<ceil($intCount/$intLimit); $i++)
  38. {
  39. echo ' <a href=\"index?nr='.$i.'\">['.($i+1).']</a> ';
  40. }
  41.  
  42.  
  43. mysql_close($resBaseHandle);//43 linia gdzie pojawia się błąd
  44.  
  45. ?>


Lecz pojawia mi się błąd przy odłaczeniu od bazy ....
Go to the top of the page
+Quote Post
crash
post 29.12.2004, 15:55:27
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Pisz albo:
  1. <?php
  2. $resBaseHandle = mysql_connect (&#092;"127.0.0.1\", \"**\", \"**\");
  3. ...
  4. mysql_close($resBaseHandle);
  5. ?>

Albo (jeśli otwarte jest tylko 1 połączenie):
  1. <?php
  2. mysql_connect (&#092;"127.0.0.1\", \"**\", \"**\");
  3. ...
  4. ?>


--------------------
Go to the top of the page
+Quote Post
qiun
post 29.12.2004, 16:03:50
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 21.05.2004

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


Ok racja moja pomyłka to w takim razie możesz mi jeszcze powiedzieć czemu nie wyświetla mi podstron 1 2 3 4 jak jest więcej rekordów w bazie questionmark.gif

Ten post edytował qiun 29.12.2004, 16:04:47
Go to the top of the page
+Quote Post
Vertical
post 29.12.2004, 16:12:04
Post #6





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


  1. <?php
  2. for($i = 0; $i<ceil($intCount/$intLimit); $i++)
  3. {
  4.     echo (&#092;" <a href='index?nr=$i'>[($i+1)]</a> \");
  5. }
  6. ?>


Ten post edytował Vertical 29.12.2004, 16:13:07
Go to the top of the page
+Quote Post
P3A_MDF
post 8.01.2005, 13:42:44
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 16.12.2004

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


Nie dzialal mi wasz przyklad. Zadzialalo jak zrobilem SELECT COUNT(*), super. Ale nierozymiem kilku rzeczy. Prosze popatrzyc do komentarzy.
Czy zrobilem to poprawnie?
  1. <?php
  2. $intLimit = 4;
  3.  
  4. if( empty( $_GET['nr'] ) )
  5. {
  6. $intCurrentPage = 0;
  7. }
  8. else
  9. {
  10. $intCurrentPage = $_GET['nr'];
  11. }
  12. // [1] co robi ten \"IF\" i czym jest \"nr\" ?
  13. $mysql_link = mysql_connect('localhost', '', '');
  14. mysql_select_db (&#092;"iwz_uk_db\", $mysql_link) or
  15. die (&#092;"Nie można się połączyć z bazą CMS\");
  16.  
  17. $cnt = mysql_result(mysql_query('SELECT COUNT(*) FROM `niusy1`', $mysql_link), 0, 0);
  18. // tutaj wyciagam calkowita ilosc rekrdow
  19. echo &#092;"Wszytkich: $cnt\";
  20. $intCount = $cnt;
  21.  
  22. $wynik = mysql_query (&#092;"SELECT * FROM niusy1 \". \"ORDER BY numerniusa DESC LIMIT \".($intCurrentPage*$intLimit).\",\".$intLimit) or die (mysql_error());
  23.  
  24. while ($rekord = mysql_fetch_array ($wynik))
  25. {
  26. echo (&#092;"<table align=\"center\" border=\"0\" width=\"250\">\");
  27. echo (&#092;"<tr>\");
  28. echo (&#092;" <td>\");
  29. echo &#092;"<p><b><a href=\"all.php?nr=\".$rekord[0].\"\">\";
  30. echo $rekord[2].&#092;"</a></b><br/>\".$rekord[3].\"<p>\";
  31. echo &#092;"<p align=right><i>\".$rekord[5].\",\" .$rekord[1].\", \".$rekord[6].\",\" .$rekord[7].\"</i></p>\";
  32. echo (&#092;" </td>\");
  33. echo (&#092;"</tr>\");
  34. echo (&#092;"</table>\");
  35. }
  36. $aktuwysw = $intCurrentPage +1;
  37. echo &#092;"<BR><div align=center> intCount: $intCount - intLimit: $intLimit - Aktualnie wyswietlana: $aktuwysw\";
  38. //{ 
  39. //  echo $arrRow['nr'].' - '.$arrRow['text'].'<br>';
  40. //}
  41. // [2] Po co jest to wyzej i co to \"arrRow\" ?
  42. echo '<br>';
  43. for($i = 0; $i<ceil($intCount/$intLimit); $i++)
  44. {
  45. echo ' <a href=\"por3.php?nr='.$i.'\">['.($i+1).']</a>';
  46. }
  47. echo '</div><br>';
  48. mysql_close($mysql_link);
  49.  
  50. ?>


--------------------
ciulstwa.pl Najzabawniejsze klipy w sieci
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: 15.06.2025 - 07:33