php - 在Mysql php的多行中一次搜索多个单词和单个单词

标签 php mysql

我正在尝试使用此搜索从数据库中一次搜索多个单词或单个单词。现在的问题是我的脚本只能正常运行,但请帮助我......

 <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 

最佳答案

我想我大致了解您的需求。

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>

以下是此工作的示例:

<小时/>

未选择位置,仅名称

enter image description here

<小时/>

名称和一个位置

enter image description here

<小时/>

姓名和两个位置

enter image description here

关于php - 在Mysql php的多行中一次搜索多个单词和单个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362342/

相关文章:

php - 如何在 laravel 中获取列值的平均值

php - 处理导航栏溢出

php - #1045 - 'root' @'localhost' 的访问被拒绝(使用密码 : YES))

MySQL 仅替换文本字段/列中的第一个匹配项

mysql - 在 VB.NET 中为 MySql 和 MSSql 编程

php - 评估 PHP 中的 XPath 2.0

PHP 图像优化器

python - 用于 Python 的 MySQL 连接器

mysql - 在 mysql workbench 中进行一些查询后如何导出数据库?

php - 调和得墨忒耳定律与模型