Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]wyszukiwarka bazująca na FULLTEXT
Forum PHP.pl > Forum > Przedszkole
-kuki-
Znalazłem skrypt który bazuje na polach oznaczonych FULLTEXT, przekopiowałem ten skrypt i utworzylem baze danych zgodnie z instrukcjami zawartymi na tej stronie

Plik advs.php
  1. <?php
  2.  /* call this script "advs.php" */ 
  3.  if(!$c) {
  4. ?> 
  5. <form action="advs.php?c=1" method=POST> 
  6. <b>Znajdź wyniki</b><br> 
  7. Jakakolwiek z tej frazy    <input type="text" length=40 name="any"> <br> 
  8. Wszystkie frazy z            <input type="text" length=40 name="all"> <br> 
  9. Żadna z tych fraz             <input type="text" length=40 name="none"> <br> 
  10. <input type="submit" value="Szukaj"> 
  11. </form> 
  12. <?php 
  13. } else if($c) { 
  14. mysql_connect("localhost", "root", "xxx"); 
  15. mysql_select_db("baza"); 
  16.  if((!$all) || ($all == "")) { $all = ""; } else { $all = "+(".$all.")"; } 
  17.  if((!$any) || ($any == "")) { $any = ""; }
  18.  if((!$none) || ($none == "")) { $none = ""; } else { $none = "-(".$none.")"; } 
  19.  $query = 
  20.  SELECT *, 
  21. MATCH(title, story) AGAINST ('$all $none $any' IN BOOLEAN MODE) AS score
  22. FROM compsite
  23.  WHERE MATCH(title, story) AGAINST ('$all $none $any' IN BOOLEAN MODE)"; 
  24. $artm1 = MySQL_query($query); 
  25. if(!$artm1) {
  26.  echo mysql_error()."<br>$query<br>";
  27. } 
  28. echo "<b>Article Matches</b><br>"; 
  29. if(mysql_num_rows($artm1) > 0) { 
  30.  echo "<table>"; 
  31. echo "<tr><td>Score </td><td>Title </td><td>Body</td></tr>"; 
  32.  while($artm2 = mysql_fetch_array($artm1)) { 
  33. $val = round($artm2['score'], 3); 
  34. $val = $val*100; 
  35. echo "<tr><td>$val</td>"; 
  36. echo "<td>{$artm2['title']}</td>"; 
  37. echo "<td>{$artm2['body']}</td></tr>"; 
  38.  } 
  39. echo "</table>"; 
  40.  } 
  41.  else {
  42. echo "No Results were found in this category.<br>";
  43.  } 
  44.  echo "<br>";
  45.  }
  46. ?>


Zapytanie do bazy

  1. CREATE TABLE `articles` (
  2. `body` text,
  3. `title` varchar(250) DEFAULT NULL,
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. PRIMARY KEY (`id`),
  6. FULLTEXT KEY `body` (`body`,`title`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;


Mimo wszystko skrypt nie działa i zwraca mi na nowo formularz, nie wyświetlając wyników. Ktoś wie dlaczego?
Kicok
register_globals


Poczytaj na necie co to jest i dlaczego nie powinno się na tym polegać, a następnie popraw swój kod.
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.