Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + MySQL] Wyszukiwarka ze stronicowaniem
Forum PHP.pl > Forum > PHP
domel138
Witam.

Oto kod formularza wyszukiwarki:

  1. <?php
  2. <center>
  3. <form action="index.php?c=9" method=post>
  4. <table border=0 style="font: normal 14px Arial;">
  5. <tr>
  6. <td align=right><input class="przycisk2" type="text" name="szukaj" value="" size="30"></td>
  7. <td></td>
  8. <td align="left"><input class="przycisk" type="submit" value="szukaj >>"></td>
  9. </tr>
  10. </table>
  11. </form>
  12. </center>
  13. ?>


Oraz kod samej wyszukwiarki:

  1. <div id="archiwum">
  2. <?
  3. include 'mysql.php';
  4. if($_GET[n]=="")
  5. {
  6. $search=$_POST['szukaj'];
  7.  $tableList=mysql_query("SELECT * FROM list WHERE MATCH (name, data_u, address, data_w, opis) AGAINST ('*$search*' IN BOOLEAN MODE);");
  8.  echo '<div id="archiwumNawigator">';
  9.  $iloscZakladek=floor(mysql_num_rows($tableList)/10);
  10.  for($z=0; $z<$iloscZakladek; $z++)
  11.  {
  12. echo '<a href="index.php?c=9&z='.$z.'" ';
  13. if($z==$_GET['z'])
  14.  echo 'style="background-color: #D5B177; color: #612d11; border: 1px solid #612d11;"';
  15. echo '> '.($z+1).' </a> ';
  16.  }
  17.  echo '</div>';
  18.  $z=$_GET['z'];
  19.  if($z=='')
  20. $z=0;
  21. $search=$_POST['szukaj'];
  22. echo "$search";
  23. echo "$z";
  24.  $tableList=mysql_query('SELECT * FROM list WHERE MATCH (name, data_u, address, data_w, opis) AGAINST ('1939' IN BOOLEAN MODE) LIMIT '.($z*10).' , 10');
  25.  while($tableListRow=mysql_fetch_row($tableList))
  26.  {
  27. echo '<div class="archiwumMain">
  28.  <div class="archiwumUp">
  29. <div class="archiwumPhoto">
  30.  <table class="archiwumTable" cellspacing="0">
  31. <tr>
  32.  <td class="archiwumCell">';
  33.  
  34. $katalog=opendir('photos/'.$tableListRow[0].'/mini');
  35. for ($iloscZdjec=-3; readdir($katalog)!=false; $iloscZdjec++);
  36. closedir($katalog);
  37.  
  38. if($iloscZdjec<0)
  39.  echo '<img src="photos/no-photo.gif" alt="" />';
  40. else
  41. {
  42.  $katalog='photos/'.$tableListRow[0].'/mini/';
  43.  myScanDir($katalog, $iloscZdjec);
  44.  $rand=rand(0,$iloscZdjec);
  45.  echo '<img src="'.$zdjecie[$rand].'" alt="" />';
  46. }
  47. echo '</td>
  48. </tr>
  49.  </table>
  50. </div>
  51. <div class="archiwumInfo">
  52.  <div class="archiwumTytul">
  53. '.nl2br($tableListRow[1]).'
  54.  </div>
  55.  <div class="archiwumUlica">
  56. '.nl2br($tableListRow[2]).'
  57.  </div>
  58. </div>
  59.  </div>
  60.  <div class="archiwumOpis">';
  61. $content=substr(nl2br($tableListRow[3]), 0, 150)."... ";
  62.  echo strip_tags($content);
  63.  echo '<a href="index.php?c=4&n='.$tableListRow[0].'">[czytaj dalej]</a>
  64.  </div>
  65. </div>';
  66.  }
  67.  echo '</div>';
  68. }
  69. else
  70. {
  71.  $tableList=mysql_query("SELECT * FROM list WHERE `number` = '$_GET[n]' ;");
  72.  $tableListRow=mysql_fetch_row($tableList);
  73. ?>
  74. <p style="margin: 5px; padding: 0; text-align: center; vertical-align: center; font: bold 16px Arial;">
  75.  <?echo nl2br($tableListRow[1]);?>
  76. </p>
  77. <?
  78.  $katalog=opendir('photos/'.$tableListRow[0].'/mini');
  79.  for ($iloscZdjec=-3; readdir($katalog)!=false; $iloscZdjec++);
  80.  closedir($katalog);
  81.  
  82.  if($iloscZdjec>=0)
  83.  {
  84. $katalog='photos/'.$tableListRow[0].'/art/';
  85. myScanDir($katalog, $iloscZdjec);
  86. if($iloscZdjec>0)
  87. {
  88.  $rand1=rand(0,$iloscZdjec);
  89.  $rand2=rand(0,$iloscZdjec);
  90.  while($rand1==$rand2)
  91. $rand2=rand(0,$iloscZdjec);
  92. }
  93. else
  94.  $rand1=0;
  95.  }
  96.  
  97.  echo '<div style="float: left; width: 100%;">';
  98.  if($iloscZdjec>=0)
  99. echo '<div class="archiwumZdjecie1">
  100.  <table class="archiwumTable" cellspacing="0">
  101. <tr>
  102.  <td class="archiwumCell">
  103. <a href="index.php?c=2&a='.$tableListRow[0].'">
  104.  <img src="'.$zdjecie[$rand1].'" alt="" />
  105. </a>
  106.  </td>
  107. </tr>
  108.  </table>
  109. </div>';
  110.  echo '<p>'.nl2br($tableListRow[3]).'</p><br />
  111.  </div>';
  112.  
  113.  if($tableListRow[4]!="")
  114. echo '<p><b>Treść nagrobka:</b><br />
  115.  <i>'.nl2br($tableListRow[4]).'</i></p><br />';
  116.  
  117.  if($tableListRow[5]!="")
  118. echo '<p><b>Rodzaj obiektu:</b><br />
  119.  '.nl2br($tableListRow[5]).'</p><br />';
  120.  
  121.  if($rand2!=$rand1)
  122. echo '<div class="archiwumZdjecie2">
  123.  <table class="archiwumTable" cellspacing="0">
  124. <tr>
  125.  <td class="archiwumCell">
  126. <a href="index.php?c=2&a='.$tableListRow[0].'">
  127.  <img src="'.$zdjecie[$rand2].'" alt="" />
  128. </a>
  129.  </td>
  130. </tr>
  131.  </table>
  132. </div>';
  133.  
  134.  if($tableListRow[6]!="")
  135. echo '<p><b>Stan obiektu:</b><br />
  136.  '.nl2br($tableListRow[6]).'</p><br />';
  137.  
  138.  if($tableListRow[7]!="")
  139. echo '<p><b>Fundator:</b><br />
  140.  '.nl2br($tableListRow[7]).'</p><br />';
  141.  
  142.  if($tableListRow[8]!="")
  143. echo '<p><b>Data upamiętnienia:</b><br />
  144.  '.nl2br($tableListRow[8]).'</p><br />';
  145.  
  146.  if($tableListRow[2]!="")
  147. echo '<p><b>Lokalizacja i opis miejsca:</b><br />
  148.  '.nl2br($tableListRow[2]).'</p>
  149. </div>';
  150. }
  151. ?>
  152. </div>


Efekt działania mozna zobaczyc na stronie http://zse.bydgoszcz.pl/~grant/index.php?c=6 i proponuje wpisac 1939 wynikow jest 27 wiec stronicuje dobrze, ale gdy klikne na strone nr2 to linki do reszty stron znikaja co zroibc?? zauwazylem takze ze zmienna szukaj przeslana postem znika po kliknieciu w ktorys link stronicowania. Co zrobic aby mozna bylo kliknac na kolejna strone i aby linki nie znikaly tylko ciagle byly widoczne. Wydaje mi sie ze to wina tego ze znika $search bo gdy przy sortowaniu dam zamiast $search jakis ciag znakow albo liczbe to linki nie znikaja.

Z gory dzieki za opdowiedzi.
domel138
gszesiek do konca nie rozumiem o co ci chodzi? Mogbys to wyjasnic jakos jasniej??

Dobra juz sobie poradzilem z problemem poprostu $szukaj przeslalem $_GET a nie $_POST i juz dziala ok.
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.