一个表数据库上的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'不起作用我希望我发布的代码对所有其他字段仍然有效,但搜索输入与我之前发布的查询一样,只在一个按钮中起作用,但不同