2012-01-08 132 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