2016-06-23 17 views
1

ich mit Datenbank gesucht werden soll maximal 3 Wörter mit mehreren Feldern übereinstimmen, und ich bin mit bestimmten gegebenen Code:Php Mysql Suchabfrage mit mehreren Wörtern

$hotel_name=trim($_GET['hotel_src_key']); 
$search_type=trim($_GET['hotel_src']); 
$pieces = explode(" ", $hotel_name); 

//echo $pieces[1]; // piece2 

$search1=$pieces[0]; 
$search2=$pieces[1]; 
$search3=$pieces[2]; 
echo $search1.$search2.$search3; 

if($search_type=="any hotel") 
{ 
$rest ="WHERE hotel_name like '%$search1%' AND hotel_name like '%$search2%'AND hotel_name like '%$search3%' OR city like '%$search1%' AND city like '%$search2%' AND city like '%$search3%'"; 
} 

if($search_type=="hotel city"){ 
$rest="WHERE city like '%$search1%' AND city like '%$search2%' AND city like '%$search3%'"; 
} 

if($search_type=="hotel name"){ 
$rest="WHERE hotel_name like '%$search1%' AND hotel_name like '%$search2%' AND hotel_name like '%$search3%'"; 
} 


$stmt=$connc->query("SELECT * FROM hotels $rest ORDER BY h_id ASC"); 
$rc = $stmt->num_rows; 

Aber seine Arbeit nicht, wie ich bcoz wollen, wenn ich Hotel suchen mit Schlüsselwort "agra jaipur delhi" in (search_type=any hotel), dann Ergebnisse 0
Wie kann ich dieses Problem beheben?

+0

try verwenden Sie die Halterung für diese „WHERE (HOTEL_NAME like '% $ search1%' AND HOTEL_NAME like‚% hinzufügen $ search2% 'UND hotel_name wie'% $ search3% ') ODER (Stadt wie'% $ search1% 'UND Stadt wie'% $ search2% 'UND Stadt wie'% $ search3% ') –

+0

wenn ich das Keyword 'agra eintippe jaipur' agra jaipur ist stadt dann ergebnis ist 0 wenn ich schlüsselwort nur 'agra' gebe ein wort dann funktioniert gut – ranbir

+0

@ranbir keine antwort von dir meine antwort löschen ich denke es ist nicht nützlich für dich –

Antwort

Verwandte Themen