【发布时间】:2018-01-02 10:49:10
【问题描述】:
我正在我的应用中创建搜索功能, 我有用户名、名称和地区, 所以谁能告诉我实现它的最佳方法。 它应该就像用户在搜索中输入的任何内容一样,脚本应该搜索数据库并获取所需的详细信息。 //我的代码在这里
<?php
include_once("db.php");
if(isset($_POST['district'])){
$district=$_POST['district'];
}
if(isset($_POST['designation'])){
$design=$_POST['designation'];
}
if(isset($_POST['name'])){
$name=$_POST['name'];
}
if(isset($_POST['department'])){
$dept=$_POST['department'];
}
$result=array();
$response=array();
if((isset($design)) &&(!isset($district)) && (!isset($name)))
{
$a=$design;
$stmt=$db->prepare("SELECT * FROM search WHERE designation LIKE ?");
$stmt->bind_param("s",$a);
$stmt->execute();
$d=$stmt->get_result();
while($b=$d->fetch_array(MYSQLI_ASSOC)){
$result[]=$b;
}
}
else if((isset($district)) &&(!isset($design)) && (!isset($name)))
{
$a=$district;
$stmt=$db->prepare("SELECT * FROM search WHERE district LIKE ?");
$stmt->bind_param("s",$a);
$stmt->execute();
$d=$stmt->get_result();
while($b=$d->fetch_array(MYSQLI_ASSOC)){
$result[]=$b;
}
}
else if((isset($name)) &&(!isset($district)) && (!isset($district))){
$a=$name;
$stmt=$db->prepare("SELECT * FROM search WHERE name LIKE ?");
$stmt->bind_param("s",$a);
$stmt->execute();
$d=$stmt->get_result();
while($b=$d->fetch_array(MYSQLI_ASSOC)){
$result[]=$b;
}
}
if((isset($name))&& (isset($design))){
$stmt=$db->prepare("SELECT * FROM search WHERE name LIKE ? AND designation LIKE ?");
$stmt->bind_param("ss",$name,$design);
$stmt->execute();
$d=$stmt->get_result();
while($b=$d->fetch_array(MYSQLI_ASSOC)){
$result[]=$b;
}
}
if(isset($dept)){
$stmt=$db->prepare("SELECT * FROM search WHERE department LIKE ?");
$stmt->bind_param("s",$dept);
$stmt->execute();
$d=$stmt->get_result();
while($b=$d->fetch_array(MYSQLI_ASSOC)){
$result[]=$b;
}
}
$response['result']=$result;
echo json_encode($response)
?>
以上是完整代码。
【问题讨论】:
-
你能发一些代码吗?
-
我尝试了简单的方法,即简单地获取用户名或地区或指定,然后按顺序执行。
-
代码在哪里?