2014-04-29 167 views
0

我試圖使用此搜索從數據庫中一次搜索多個單詞或單個單詞。現在的問題是,我的腳本只正常運行,但請幫我...在Mysql中多行搜索多個單詞和單個詞php

<form name="ds" method="post"> 
<input type="text" name="name" placeholder="Entername" />&nbsp;&nbsp; 
<!--<input type="text" name="search" placeholder="Location" />--> 
<select name="location[]" multiple="multiple"> 

<option value="delhi">Delhi</option> 
<option value="Mumbai">Mumbai</option></select> 
<input type="submit" name="submit" value="Search" /> 
</form> 
<? 
$conn=mysql_connect("localhost","root",""); 
mysql_select_db("dbrozgarexpress",$conn); 
echo $search =$_POST['location']; 
$description = ""; 
$name2=$_POST['name']; 
if(isset($name2)&&$name2 != ""){ 
if($flag){ 
$cheack.= "AND "; 
} 
$cheack.="user_first_name ='$name2' "; 
$flag =true; 
} 


if(isset($search)&&$search != ""){ 
if($flag){ 
$cheack.= "AND "; 
} 
foreach($search AS $s) 
{ 
$cheack.="user_current_location_id ='$s' or "; 
$flag =true; 
} 
} 

$cheack = substr($cheack, 0, -4); 
echo $query = "SELECT * FROM `tb_user` WHERE $cheack "; 
?> 
error SELECT * FROM `tb_user` WHERE user_first_name ='kum 
+0

'現在的問題是,我的腳本只能正常運行「 - 那有什麼問題?你有什麼錯誤嗎? – Latheesan

+0

錯誤在這裏SELECT * FROM'tb_user' WHERE和user_current_location_id ='delhi'或 – user3523177

+0

當您選擇了'name'和'location'(多於一個)時,您可以顯示查詢應該是這樣嗎? – Latheesan

回答

1

我想我有你所追求的一個總體思路。

P.S.

<?php 

// Handle Post 
if (count($_POST)) 
{ 
    // Load Params 
    $name = isset($_POST['name']) ? $_POST['name'] : ''; 
    $locations = isset($_POST['location']) ? $_POST['location'] : array(); 

    // Start Query 
    $sql = 'SELECT * FROM `tb_user` WHERE '; 

    // Build Query 
    $sql_parts = array(); 
    if (!empty($name)) { 
     $sql_parts[] = "`user_first_name` = '$name'"; 
    } 
    if (sizeof($locations)) { 
     foreach ($locations as $location) { 
      $sql_parts[] = "`user_current_location_id` = '$location'"; 
     } 
    } 
    $sql = $sql . implode(' AND ', $sql_parts); 

    // Debug 
    echo $sql ."<br><br>"; 
} 

?> 

<form action="" name="ds" method="post"> 
<input type="text" name="name" placeholder="Entername" />&nbsp;&nbsp; 
<select name="location[]" multiple="multiple"> 
<option value="delhi">Delhi</option> 
<option value="Mumbai">Mumbai</option></select> 
<input type="submit" name="submit" value="Search" /> 
</form> 

下面是這個工作的一個例子:


沒有位置選定後,您即單擊search按鈕

試試這個 - 你提交表單後查詢將只顯示,只有名字

enter image description here


名稱和一個位置

enter image description here


名和兩個位置

enter image description here

+0

你很快就解決了我的問題,非常感謝。 – user3523177

+0

不客氣。當你準備好時,隨意選擇這個答案作爲答案;) – Latheesan