一个表数据库上的php多输入搜索表单
我创建了搜索表单,它工作正常,但我想添加另一个字段,用于在数据库的任何列中搜索字母 这是我要添加的查询:一个表数据库上的php多输入搜索表单,php,mysql,Php,Mysql,我创建了搜索表单,它工作正常,但我想添加另一个字段,用于在数据库的任何列中搜索字母 这是我要添加的查询: mysqli_query($conn,"SELECT * FROM tbl_subcontractor where db_RelatedCustome like '%$search%' or db_LevelofPriority like '%$search%' or db_Category like '%$search%' or db_Subcategories like '%$searc
mysqli_query($conn,"SELECT * FROM tbl_subcontractor where db_RelatedCustome like '%$search%' or db_LevelofPriority like '%$search%' or db_Category like '%$search%' or db_Subcategories like '%$search%' or db_ProductOrService like '%$search%' or db_CompanyName like '%$search%' or db_Namecontactperson like '%$search%' or db_evaluation like '%$search%' ")or die(mysqli_error($conn));
此图解释以下形式:
这是我用于搜索的代码:
if(isset($_POST['submit'])) {
$RelatedCustome=$_POST['txt_RelatedCustomer'];
$LevelofPriority=$_POST['txt_LevelofPriority'];
$category=$_POST['txt_category'];
$subcategories=$_POST['txt_subcategories'];
$ProductOrService=$_POST['txt_ProductOrService'];
$CompanyName=$_POST['txt_CompanyName'];
$Namecontactperson=$_POST['txt_Namecontactperson'];
$evaluation=$_POST['txt_evaluation'];
$search=$_POST['txt_search'];
$q = array();
$sql = "";
if(isset($_POST['txt_RelatedCustomer']) && !empty($_POST['txt_RelatedCustomer'])){
$RelatedCustome = mysqli_real_escape_string($conn,$_POST['txt_RelatedCustomer']);
$q[] = " db_RelatedCustome='".$RelatedCustome."' ";
}
if(isset($_POST['txt_LevelofPriority']) && !empty($_POST['txt_LevelofPriority'])){
$LevelofPriority = mysqli_real_escape_string($conn,$_POST['txt_LevelofPriority']);
$q[] = " db_LevelofPriority='".$LevelofPriority."' ";
}
if(isset($_POST['txt_category']) && !empty($_POST['txt_category'])){
$category = mysqli_real_escape_string($conn,$_POST['txt_category']);
$q[] = " db_Category='".$category."' ";
}
if(isset($_POST['txt_subcategories']) && !empty($_POST['txt_subcategories'])){
$subcategories = mysqli_real_escape_string($conn,$_POST['txt_subcategories']);
$q[] = " db_Subcategories='".$subcategories."' ";
}
if(isset($_POST['txt_ProductOrService']) && !empty($_POST['txt_ProductOrService'])){
$ProductOrService = mysqli_real_escape_string($conn,$_POST['txt_ProductOrService']);
$q[] = " db_ProductOrService='".$ProductOrService."' ";
}
if(isset($_POST['txt_CompanyName']) && !empty($_POST['txt_CompanyName'])){
$CompanyName = mysqli_real_escape_string($conn,$_POST['txt_CompanyName']);
$q[] = " db_CompanyName='".$CompanyName."' ";
}
if(isset($_POST['txt_Namecontactperson']) && !empty($_POST['txt_Namecontactperson'])){
$Namecontactperson = mysqli_real_escape_string($conn,$_POST['txt_Namecontactperson']);
$q[] = "db_Namecontactperson='".$Namecontactperson."' ";
}
if(isset($_POST['txt_evaluation']) && !empty($_POST['txt_evaluation'])){
$evaluation = mysqli_real_escape_string($conn,$_POST['txt_evaluation']);
$q[] = "db_evaluation='".$evaluation."' ";
}
$first = true;
foreach($q as $qu){
if($first){
$sql .= " where ".$qu;
$first = false;
}else{
$sql .= " and ".$qu;
}
}
echo $sql;
$result=mysqli_query($conn,"SELECT * FROM tbl_subcontractor {$sql}")or die(mysqli_error($conn));
$count=mysqli_num_rows($result);
if($count==0){echo"no result.";}
else{
echo"<table class='table table-hover table-responsive table-bordered' id='alternatecolor'>";
echo"<tr>";
echo" <td style='background:#f7ac01;font-size:16px;'>Related Customer</td>
<td style='background:#f7ac01;font-size:16px;'>Level of Priority</td>
<td style='background:#f7ac01;font-size:16px;'>Category</td>
<td style='background:#f7ac01;font-size:16px;'>Subcategory</td>
<td style='background:#f7ac01;font-size:16px;'>Product Or Service</td>
<td style='background:#f7ac01;font-size:16px;'>Company Name</td>
<td style='background:#f7ac01;font-size:16px;'>Name contact person</td>
<td style='background:#f7ac01;font-size:16px;'>Evaluation</td>
<td style='background:#f7ac01;font-size:16px;'>Phone</td>
<td style='background:#f7ac01;font-size:16px;'>Phone 2</td>
<td style='background:#f7ac01;font-size:16px;'>Whatsapp</td>
<td style='background:#f7ac01;font-size:16px;'>Mobile</td>
<td style='background:#f7ac01;font-size:16px;'>Web</td>
<td style='background:#f7ac01;font-size:16px;'>Location</td>
<td style='background:#f7ac01;font-size:16px;'>Comment</td>
";
echo"</tr>";
while($res=mysqli_fetch_array($result)){
$RelatedCustome=$res['db_RelatedCustome'];
$LevelofPriority=$res['db_LevelofPriority'];
$category=$res['db_Category'];
$subcategories=$res['db_Subcategories'];
$ProductOrService=$res['db_ProductOrService'];
$CompanyName=$res['db_CompanyName'];
$Namecontactperson=$res['db_Namecontactperson'];
$evaluation=$res['db_evaluation'];
$phone=$res['db_Phone'];
$phone_2=$res['db_phone2'];
$whatsapp=$res['db_Phonewhatsapp'];
$mobile=$res['db_mobile'];
$web=$res['db_web'];
$location=$res['db_Location'];
$comment=$res['db_comment'];
echo"<tr>";
echo"<td >"; echo $RelatedCustome; echo"</td>";
echo"<td >"; echo $LevelofPriority; echo"</td>";
echo"<td>"; echo $category; echo"</td>";
echo"<td >"; echo $subcategories; echo"</td>";
echo"<td >"; echo $ProductOrService; echo"</td>";
echo"<td >"; echo $CompanyName; echo"</td>";
echo"<td >"; echo $Namecontactperson; echo"</td>";
echo"<td>"; echo $phone; echo"</td>";
echo"<td>"; echo $phone_2; echo"</td>";
echo"<td>"; echo $whatsapp; echo"</td>";
echo"<td>"; echo $mobile; echo"</td>";
echo"<td>"; echo $whatsapp; echo"</td>";
echo"<td>"; echo $web; echo"</td>";
echo"<td>"; echo $location; echo"</td>";
echo"<td>"; echo $comment; echo"</td>";
echo"</tr>";
}echo"</table>";
}}
if(isset($\u POST['submit'])){
$RelatedCustome=$\u POST['txt\u RelatedCustomer'];
$LevelofPriority=$_POST['txt_LevelofPriority'];
$category=$\u POST['txt\u category'];
$subcategories=$\u POST['txt\u subcategories'];
$ProductOrService=$\u POST['txt\u ProductOrService'];
$CompanyName=$\u POST['txt\u CompanyName'];
$namecontperson=$\u POST['txt\u namecontperson'];
$evaluation=$_POST['txt_evaluation'];
$search=$\u POST['txt\u search'];
$q=数组();
$sql=“”;
如果(isset($_POST['txt\u RelatedCustomer'])和($_POST['txt\u RelatedCustomer'])为空($_POST['txt\u RelatedCustomer']){
$RelatedCustome=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u RelatedCustomer']);
$q[]=“db_relatedcustme=”。“$relatedcustme.”;
}
如果(设置($_POST['txt_LevelofPriority'])和($_POST['txt_LevelofPriority'])为空($_POST['txt_LevelofPriority']){
$LevelofPriority=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u LevelofPriority']);
$q[]=“db_优先级别=”。“$LevelofPriority.”;
}
如果(isset($_POST['txt_category'])和($_POST['txt_category'])为空($_POST['txt_category']){
$category=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u category']);
$q[]=“db_Category=”。“$Category.”;
}
如果(isset($_POST['txt_subcategories'])和($_POST['txt_subcategories'])为空($_POST['txt_subcategories']){
$subcategories=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u subcategories']);
$q[]=“db_子类别=”。“$Subcategories.”;
}
如果(设置($_POST['txt\u ProductOrService'])和($_POST['txt\u ProductOrService'])为空($_POST['txt\u ProductOrService']){
$ProductOrService=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u ProductOrService']);
$q[]=“db_ProductOrService=”。“$ProductOrService.”;
}
如果(isset($\u POST['txt\u CompanyName'])和($\u POST['txt\u CompanyName'])为空($\u POST['txt\u CompanyName']){
$CompanyName=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u CompanyName');
$q[]=“db_CompanyName=””、$CompanyName.“;
}
如果(设置($_POST['txt\u Namecontactperson'])和($_POST['txt\u Namecontactperson'])为空($_POST['txt\u Namecontactperson']){
$namecontperson=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u namecontperson']);
$q[]=“db_Namecontactperson=”,“$Namecontactperson.”;
}
如果(isset($_POST['txt_evaluation'])和($_POST['txt_evaluation'])为空($_POST['txt_evaluation']){
$evaluation=mysqli\u real\u escape\u字符串($conn,$\u POST['txt\u evaluation']);
$q[]=“db_评估=”。“$evaluation.”;
}
$first=true;
foreach($q为$qu){
如果($第一){
$sql.=“其中”$qu;
$first=false;
}否则{
$sql.=“和”$qu;
}
}
echo$sql;
$result=mysqli_query($conn,“从tbl_分包商{$sql}中选择*)或die(mysqli_error($conn));
$count=mysqli\u num\u行($result);
如果($count==0){echo“无结果”。;}
否则{
回声“;
回声“;
“回声”相关客户
优先级别
类别
子类别
产品或服务
公司名称
联系人姓名
评价
电话
电话2
WhatsApp
可移动的
网状物
位置
评论
";
回声“;
而($res=mysqli\u fetch\u数组($result)){
$relatedcustme=$res['db_relatedcustme'];
$LevelofPriority=$res['db_LevelofPriority'];
$category=$res['db_category'];
$subcategories=$res['db_subcategories'];
$ProductOrService=$res['db_ProductOrService'];
$CompanyName=$res['db_CompanyName'];
$namecontperson=$res['db_namecontperson'];
$evaluation=$res['db_evaluation'];
$phone=$res['db_phone'];
$phone_2=$res['db_phone 2'];
$whatsapp=$res['db_Phonewhatsapp'];
$mobile=$res['db_mobile'];
$web=$res['db_-web'];
$location=$res['db_location'];
$comment=$res['db_comment'];
回声“;
echo“”;echo$relatedcustme;echo“”;
echo“;echo$LevelofPriority;echo”;
echo“”;echo$类别;echo“”;
echo“”;echo$子类别;echo“”;
echo“”;echo$ProductOrService;echo“”;
echo“”;echo$CompanyName;echo“”;
echo“”;echo$Namecontactperson;echo“”;
echo“”;echo$电话;echo“”;
echo”“;echo$phone_2;echo”“;
echo”“;echo$whatsapp;echo”“;
echo“”;echo$mobile;echo“”;
echo”“;echo$whatsapp;echo”“;
echo“”;echo$web;echo“”;
echo“”;echo$位置;echo“”;
echo“”;echo$注释;echo“”;
回声“;
}回声“;
}}
如何将查询与代码混合以获得完美的结果。在all您的q数组中,您应该像这样使用“%”
$q[] = "db_evaluation='%".$search."%'";
并将这部分代码更改为
$first = true;
foreach($q as $qu){
if($first){
$sql .= " where ".$qu;
$first = false;
}else{
$sql .= " or ".$qu;
}
}
我找到了解决方案,非常感谢您抽出时间为我提供解决方案的想法
$qq=array();
if(isset($_POST['txt_search']) && !empty($_POST['txt_search'])){
$search = mysqli_real_escape_string($conn,$_POST['txt_search']);
$qq[] = "db_evaluation like '%".$search."%' ";
$qq[] = "db_Namecontactperson like '%".$search."%' ";
$qq[] = " db_CompanyName like '%".$search."%' ";
$qq[] = " db_ProductOrService like '%".$search."%' ";
$qq[] = " db_Subcategories like '%".$search."%' ";
$qq[] = " db_Category like '%".$search."%' ";
$qq[] = " db_LevelofPriority like '%".$search."%' ";
$qq[] = " db_RelatedCustome like '%".$search."%' ";
}
foreach($qq as $qu){
if($second){
$sql .= " where ".$qu;
$second = false;
}else{
$sql .= " or ".$qu;
}
}
你想做什么?你想用这些代码创建这个查询吗?是的,请我想为搜索字段添加这个查询示例:如果我在搜索字段中添加'e',而另一个字段为空,则搜索结果将是数据库中包含'e'的所有数据。请回显“SELECT*FROM tbl_{$sql}”,并告诉我resultecho$sql;结果是db_RelatedCustome='q'和db_evaluation='5'不起作用我希望我发布的代码对所有其他字段仍然有效,但搜索输入与我之前发布的查询一样,只在一个按钮中起作用,但不同