Полнотекстовая поисковая система, несколько столбцов, логический режим

0

Я создаю поисковую систему для приложения Android, которое выполняет полнотекстовый поиск и сопоставляется с несколькими столбцами против "+word1 + word2" в логическом режиме. Однако я не могу получить результат поиска.

Например, поле поиска type- "открытое море", тогда Sql будет искать Матч... Против ("+open + море" в BOOLEAN MODE)

и отобразить список выбираемых результатов, на которые каждый результат щелкнул, предоставит информацию о конкретном результате на новой странице.

Извините, я новичок в разработке приложений для Android.

Вот мой php-код для search.php

<?php

 @ $db = new mysqli('localhost','username','password','db');

  if (mysqli_connect_errno()) {
     echo 'Error: Could not connect to database.  
     Please try again later.';
     exit;
  }

if(!empty($_POST)){

     $term = $_POST['query'];

    $words = explode(" ", trim($term));
    $termArray = array();
    foreach($words as $word){
        if(!empty($word)){
            $termArray[] = "+$word";
                         }
                }
    $searchquery = implode(" ", $termArray);

  if (!$term) {
     echo 'You have not entered any search details. Please go back and try again.';
     exit;
    }
    //initial query

    $query = "SELECT * 
                FROM servicetable 
                    WHERE MATCH(title,cat,brand,company) 
                        AGAINST ('".$searchquery."' IN BOOLEAN MODE)
                            ORDER BY title ASC";

    $result = $db->$query;
    $num_results = $result->num_rows;

    //show user what user searched.   
    echo $searchquery;

    echo "<p>Results found: ".$num_results."</p>";

   //counts results.    
   if ($num_results == 0)    
   {    
      echo "Sorry, but we can not find an entry to match your query<br><br>";    
   }    

  for ($i=0; $i <$num_results; $i++) {
     $row = $result->fetch_assoc();
     echo "<p><strong>".($i+1).". Outlet Name: ";
     echo stripslashes($row['title']);

     echo "</strong><br />Category: ";
     echo stripslashes($row['cat']);
     echo "<br />Opening Hours: ";
     echo stripslashes($row['ophours']);
     echo "<br />Brand: ";
     echo stripslashes($row['brand']);
          echo "</strong><br />Company: ";
     echo stripslashes($row['company']);
     echo "</p>";
  }

  $result->free();
  $db->close();
} else {
?>
        <h1>Search</h1> 
        <form name="form1" action="search.php" method="post"> 
            Enter Search:<br /> 
            <input type="text" name="query" id="query" placeholder="Search a service"/> 
                        <br/>
            <input type="submit" value="Search Now" name="completedsearch"  /> 
        </form> 

    <?php
}

?> 
Теги:
full-text-search
search-engine

1 ответ

0
Лучший ответ

Привет, я нашел свою ошибку:

эта строка correction-->

$result = $db->query($query);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню