2012-01-08 131 views
0

我试图用这个脚本从数据库中搜索多个单词。现在问题是我的脚本只搜索一个单词。但是,如果数据库包含这些单词,我想马上搜索更多的单词(快速主页jquery),然后它会显示结果。我怎么可以用这个脚本来做到这一点,任何人都可以告诉我?或者我如何搜索任何关键字?请帮助我...如何一次搜索多个单词?

<?php 


include_once ('database_connection.php'); 

if(isset($_GET['keyword'])){ 
    $keyword = trim($_GET['keyword']) ; 
$keyword = mysqli_real_escape_string($dbc, $keyword); 



$query = "select topictitle,topicdescription from topics where topictitle like '%$keyword%' or topicdescription like '%$keyword%'"; 

//echo $query; 
$result = mysqli_query($dbc,$query); 
if($result){ 
    if(mysqli_affected_rows($dbc)!=0){ 
      while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){ 
    echo '<p> <b>'.$row['topictitle'].'</b> '.$row['topicdescription'].'</p>' ; 
    } 
    }else { 
     echo 'No Results for :"'.$_GET['keyword'].'"'; 
    } 

} 
}else { 
    echo 'Parameter Missing'; 
} 




?> 

回答

0

分解搜索词,让你得到一个数组与每个词,并构建这样的查询?这个问题有点令人困惑,可能像这样的东西可能适合你:

if(isset($_GET['keyword'])){ 
    $keyword = trim($_GET['keyword']); 
    $keyword = mysqli_real_escape_string($dbc, $keyword); 
    $search_terms = explode(" ",$keyword); 
    $query = "select topictitle,topicdescription from topics where 1 "; 
    foreach($search_terms as $searchterm){ 
     $query = $query."or topictitle like '%".$searchterm."%' or topicdescription like '%".$searchterm." '; 
    } 
    ... 
+0

谢谢你的快速回答。我想要的东西是一次2到3个字。例如,当我键入(jQuery评论苹果),并按搜索它会发现从数据库中的三个字。我目前的脚本只显示快速搜索结果(jquery)。我对PHP和我的SQL有一点了解。如果可能的话请回答我并告诉我在哪里放置代码。我把你的代码放在我的脚本中显示错误。 – hossain12a 2012-01-08 12:11:59

+0

请注意,所提供的代码片段仅仅是一个示例,如果您只是将其复制并粘贴到您的代码中,则可能无法正常工作,而且我犯了一个错误。它应该是'$ search_terms =爆炸(“”,$关键字);' – xmc 2012-01-09 19:08:09

+0

请我的兄弟这是我谦卑的请求给你,**告诉我如何把这些代码放在我的上面的代码页**。我新的PHP知道nathing。我很满意,你在列表中花一些时间阅读我的问题。 – hossain12a 2012-01-10 06:04:07