Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porcjowanie danych z bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
gajosr
Witam wszystkich. Wiem że temat był poruszany wielokrotnie ale jakoś nie mogę się z tym sam uporać. Mam baze danych, chcę wyświetlać w porcjach po 5 rekordów. Pierwszą porcję wyświetla dobrze. Ale po naciśnięciu linka do kolejnej strony nie wyświetla się ona tylko ta sama nie wiem w czym tkwi problem.Powiem jeszcze jak wyglada struktura serwisu. Na stronie index.php mam includowaną stronkę z katalogu podstrona1 o nazwie podstrona.inc.php. W niej includuje menu.php i start.php. Skrypt umieszczam na stronie start.php, która includuje jeszcze news.php. To by było na tyle. Poniżej kod skryptu
Jeśli ktoś ma pomysły dlaczego to nie działa będe wdzięczny za informacje. Z góry dzięki.

  1. <td class=\"center\">
  2. <table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" class=\"inside\">
  3. <tr>
  4. <td class=\"white\"><h6>PLACÓWKI</h6><div class=\"text\"><br>
  5.  
  6.  
  7. <? 
  8. $hostname = &#092;"localhost\"; 
  9. $username = &#092;"gajosr\"; 
  10. $password = &#092;"*****\"; 
  11. $dbName = &#092;"stomato\"; 
  12. $table = &#092;"st\"; 
  13.  
  14.  
  15. // Porcjowanie 
  16. if (!isset($strona)) { $strona = 1; } 
  17.  
  18. $porcjowanie = '5'; 
  19.  
  20.  
  21.  
  22. /* połączenie */ 
  23. MYSQL_CONNECT($hostname, $username, $password) OR DIE( &#092;"Unable to connect 
  24. to database&#092;"); 
  25.  
  26. @mysql_select_db(&#092;"$dbName\") or die( \"Unable to select database\"); 
  27.  
  28. $query = (&#092;"SELECT * FROM $table LIMIT $strona,$porcjowanie\"); 
  29.  
  30.  
  31. $result = MYSQL_QUERY($query); 
  32.  
  33. while($rekord=mysql_fetch_array($result)){ 
  34. print &#092;"<h5><b>\".$rekord['nazwa'].\"</h5></b> <br />\"; 
  35. print &#092;"<center><b>\".$rekord['miasto'].\" \".$rekord['kodp'].\"</b></center>\"; 
  36. print &#092;"<center>Ul.\".$rekord['ulica'].\"<br />\"; 
  37. print &#092;"<center>Telefon: \".$rekord['telefon'].\"</center> <br /> <br />\"; 
  38. } 
  39.  
  40. $por_obl = mysql_num_rows(mysql_query(&#092;"SELECT id FROM $table\")); 
  41. $por_obl = $por_obl/$porcjowanie; 
  42. $ile = ceil($por_obl); 
  43.  
  44. echo &#092;"<center>\"; 
  45. if ($strona!=1) print (&#092;"<a href=\"index.php?op=11&strona=\".($strona-$porcjowanie). \"\" title=\"Poprzednie\"><- Poprzednia</a>&nbsp\"); 
  46.  
  47. for ($i=1;$i<=$ile;$i++) 
  48. { 
  49.  print (&#092;"<a href=\"index.php?op=11&strona=\".($i*$porcjowanie-$porcjowanie) . \"\" title=\"\" . ($i*$porcjowanie-($porcjowanie-1)) . \"-\" . ($i*$porcjowanie) .\"\">\"); 
  50.  
  51.  if ($strona==($i*$porcjowanie-$porcjowanie)) 
  52.  { 
  53.  print (&#092;"<b>[\".$i.\"]</b></a>&nbsp\"); $akt=$i; } else { print (\"[\".$i.\"]</a>&nbsp\"); 
  54.  } 
  55. } 
  56.  
  57. if ($akt<$ile) print (&#092;"&nbsp<a href=\"index.php?op=11&strona=\".($strona+$porcjowanie).\"\" title=\"Następne\">Następna -></a>\"); 
  58. echo &#092;"</center>\"; 
  59. // Koniec 
  60.  
  61.  
  62. if (!$result) print (&#092;"failedn\"); 
  63.  
  64.  
  65. /* koniec połaczenia */ 
  66. ?> 
  67.  
  68. </div></td>
  69. </tr>
  70. </table>
  71. </td>
  72. <td class=\"side\"><? include(&#092;"news_start.html\")?></td>
  73. </tr>
  74. </table>


Z góry dzięki za pomoc
toszcze
Zacznij moze od takiej poprawki:
  1. <?php
  2. $query =  &#092;"SELECT * FROM $table LIMIT \".$strona*$porcjowanie.\",\".$porcjowanie;
  3. ?>

I strona pierwsza niech ma numer 0 (zero), a nie 1.
gajosr
Po zmianie wywala mi taki błąd

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\portal\podstrona1\przedstart1.inc.php on line 34
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.