Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL i PHP] Proste stronicowanie
Forum PHP.pl > Forum > Przedszkole
JaKo
Otóż napisałem w oparciu o małe, ale jednak doświadczenie skrypt stronicujący zapytania z MySQL. Z tego co testowałem działa świetnie. Chciałbym jednak się dowiedzieć, czy kod nie ma wad, które przeoczyłem. Prosiłbym jakiegoś "fachowca" o rzucenie okiem smile.gif oto skrypt:
  1. <?php
  2.  
  3. ini_set ('display_errors' , 1);
  4. error_reporting (E_ALL & ~E_NOTICE);
  5.  
  6. //Pod??czenie i wyb?r bazy
  7.  
  8.  
  9. if($dbc=@mysql_connect ('localhost' , 'user' , 'pass')) {
  10.  
  11. if (!@mysql_select_db ('news')) {
  12. die('Nie mo?na wybra? bazy danych');
  13. }
  14.  
  15.  
  16. }else {
  17. die('Nie mozna po??czy? sie z MySQl');
  18. }
  19.  
  20. $limit = 5; //Liczba newsów na jednej stronie
  21.  
  22. $strona = $_GET['strona'];
  23.  
  24.  
  25. if (!isset($strona)) {
  26. $limit1 = 0;
  27. $limit2 = $limit;
  28. } else {
  29. $limit1 = $limit * $strona - $limit;
  30. $limit2 = $limit * $strona;
  31. }
  32.  
  33. //Definicja zapytania
  34. $zapytanie = "SELECT * FROM news_pozycje ORDER BY id DESC LIMIT $limit1,$limit2";
  35.  
  36.  
  37. if ($r = mysql_query ($zapytanie)) {
  38.  
  39. //Odczytywanie w wy?wietlenie kolejnych rekord?w.
  40. while ($wiersz = mysql_fetch_array($r)) {
  41. print "<p align="left"><b>{$wiersz['tytul']}</b> :: {$wiersz['data_utworzenia']}<br /><br />
  42. {$wiersz['tresc']}<br /><br /><b>Autor: </b>{$wiersz['autor']}</p>
  43. <hr width="70%" size="1" />n";
  44. }
  45.  
  46. } else {
  47. die ('<p>Zapytanie nie zosta?o wykonane, bo <b>' . mysql_error() . "</b>. Zapytanie: $zapytanie.</p>");
  48.  
  49. }
  50.  
  51. echo "<center>wybierz stronę:";
  52. list($ile)=mysql_fetch_row(mysql_db_query("news","SELECT count(*) FROM news_pozycje"));
  53.  
  54. $liczba_stron = $ile / $limit;
  55. $liczba_stron = ceil($liczba_stron);
  56.  
  57. for ($v = 1; $v <= $liczba_stron; $v++) {
  58.  
  59. if ($liczba_stron == 1) {
  60. echo " $v";
  61. } else {
  62. echo " <a href="?strona=$v">$v</a>";
  63. }
  64. }
  65.  
  66.  
  67. mysql_close(); //Zamkni?cie po??czenia.
  68.  
  69.  
  70. ?>


Pozdrawiam,
Konrad Janisz
misiek172
niechce mi sie czytać całego kodu ale na poczaku wydaje mi się że to :

if (!@mysql_select_db ('news')) {
die('Nie mo?na wybra? bazy danych');
}

można zamienić poprostu na:

mysql_select_db('news') or die('Nie mo?na wybra? bazy danych');

i wtedy nie trzeba używać @ bo to samo powodu nie wyświetlanie podstawowego błędu.
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.