Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] Wyszukiwarka + Stronicowanie, błędy po wyszukaniu rekordu
funky_beat
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


Witam,

Storzyłem skrypt do wyświetlania rekordów z tabeli USERZY (id, Nazwisko).
1.Skrypt poprawnie wyświetla rekordy i tworzy linki do następnych stron - stronicowanie działa.
2.Skrypt zaopatrzyłem w prostą wyszukiwarkę, która również działa, jednak po wyszukaniu rekordów stronicowanie się rozsypuje, tj. wyświetlany jest tylko link do pierwszej strony, który po naciśnięciu wyświetla wszystkie rekordy, czyli wraca do punktu 1..

Oto skrypt:

  1. <?php
  2.  
  3. require_once ('baza.php');
  4.  
  5.  
  6. $sql = "SET CHARSET latin2";
  7.  
  8.  
  9. $site = intval($_REQUEST['site']);
  10.  
  11. $start=$site*2;
  12.  
  13. $a=0;
  14. //for($a=0;$a<($ile/2);$a++)
  15. ?>
  16.  
  17.  
  18.  
  19. <form action="0porcjowanie.php?site=<?php echo $a?>" method="post">
  20. <fieldset>
  21.  
  22. </br><p>Nazwisko: <input type="text" name="Nazwisko" value="<?php if (isset($_POST['Nazwisko'])) echo $_POST['Nazwisko']; ?>" /><input type="submit" name="submit" value="Szukaj" />
  23.  
  24. </fieldset>
  25.  
  26.  
  27.  
  28. </form>
  29.  
  30. <?php
  31.  
  32. if (isset($_POST['submit'])) { 
  33. function escape_data ($data) {
  34. global $dbc; 
  35. if (ini_get('magic_quotes_gpc')) {
  36. $data = stripslashes($data);
  37. }
  38. return mysql_real_escape_string($data, $dbc);
  39. } 
  40. $message = NULL;
  41.  
  42. if (empty($_POST['Nazwisko'])) {
  43. $n = FALSE;
  44. } else {
  45. $n = escape_data($_POST['Nazwisko']);
  46. }
  47.  
  48.  
  49. $licz = mysql_query ("SELECT Nazwisko FROM userzy WHERE Nazwisko LIKE '%$n%' ORDER BY Nazwisko LIMIT $start,2") or die ("Error SQL: ");
  50. $ile = mysql_num_rows($licz);
  51.  
  52.  
  53.  
  54. $query = mysql_query("SELECT id, Nazwisko FROM userzy WHERE Nazwisko LIKE '%$n%' ORDER BY Nazwisko LIMIT $start,2") or die ("Error SQL: ");
  55.  
  56. echo '<table>
  57. <tr><td>Nazwisko</td></tr>';
  58.  
  59. while ($row = mysql_fetch_array($query)) {
  60.  
  61. echo '<tr><td>'.$row[1].'</td></tr>';
  62. }
  63.  
  64. echo '</table>';
  65.  
  66.  
  67. echo '<p>kolejne strony:';
  68. for($a=0;$a<($ile/2);$a++)
  69. echo '<a href=0porcjowanie.php?site='.$a.'>|'.$a.'|</a>';
  70. if ($a % 2 == 1) echo '<br />';
  71.  
  72.  
  73.  
  74. } else {
  75.  
  76.  
  77. $licz = mysql_query ("SELECT * FROM userzy");
  78. $ile = mysql_num_rows($licz);
  79.  
  80.  
  81. $query = mysql_query("SELECT id, Nazwisko FROM userzy ORDER BY Nazwisko LIMIT $start,2") or die ("Error SQL: ");
  82.  
  83. echo '<table>
  84. <tr><td>Nazwisko</td></tr>';
  85.  
  86. while ($row = mysql_fetch_array($query)) {
  87.  
  88. echo '<tr><td>'.$row[1].'</td>tr>';
  89. }
  90.  
  91. echo '</table>';
  92.  
  93.  
  94.  
  95. echo '<p>kolejne strony:';
  96. for($a=0;$a<($ile/2);$a++)
  97. echo '<a href=0porcjowanie.php?site='.$a.'>|'.$a.'|</a>';
  98. if ($a % 2 == 1) echo '<br />';
  99. }
  100.  
  101.  ?>



Z góry dziękuje za pomoc w rozwiązaniu problemu
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 03:16