Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]wyszukiwarka bazująca na FULLTEXT
--kuki--
post
Post #1





Goście







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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


register_globals


Poczytaj na necie co to jest i dlaczego nie powinno się na tym polegać, a następnie popraw swój kod.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:33