Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何筛选具有不同属性的搜索结果_Php_Search - Fatal编程技术网

Php 如何筛选具有不同属性的搜索结果

Php 如何筛选具有不同属性的搜索结果,php,search,Php,Search,所以我想要一个带有过滤器的搜索页面。例如,我会搜索一个产品,并按价格或颜色进行过滤。使用这里的代码,我想搜索根据我的过滤器显示的记录。在我的代码中,我只有姓。如果我搜索数据库中存在的姓氏,则会显示该记录。姓氏也包括名字和年龄。所以我想添加过滤选项,比如按年龄或姓氏过滤,而不仅仅是姓氏。我该怎么做?我尝试了很多代码,但仍然很混乱。我希望能得到一些帮助 <?php mysql_connect("localhost","root","") OR die("Could not connect

所以我想要一个带有过滤器的搜索页面。例如,我会搜索一个产品,并按价格或颜色进行过滤。使用这里的代码,我想搜索根据我的过滤器显示的记录。在我的代码中,我只有姓。如果我搜索数据库中存在的姓氏,则会显示该记录。姓氏也包括名字和年龄。所以我想添加过滤选项,比如按年龄或姓氏过滤,而不仅仅是姓氏。我该怎么做?我尝试了很多代码,但仍然很混乱。我希望能得到一些帮助

 <?php

 mysql_connect("localhost","root","") OR die("Could not connect!");
 mysql_select_db("friends") OR die("No database found!"); //"friends"

 $output='';

 if(isset($_POST['search'])){
   $searchq = $_POST['search'];
   $searchq = preg_replace("#[^0-9a-z]#i","",$searchq);

   $query = mysql_query("SELECT * FROM Names WHERE lastname LIKE '%$searchq%' ") or die("could not           search!");
   $count = mysql_num_rows($query);

   if($count == 0){
   header("Location: error.html");

   }
        else{
   while($row = mysql_fetch_array($query)){

     echo "<tr>";
     $fname = "<td>".$row['FirstName']."<td>";
     $lname = "<td>".$row['LastName']."<td>";
     $Gender = "<td>".$row['Gender']."<td>";
     $Age = "<td>".$row['Age']."<td>";
     $id = "<td>".$row['id']."<td>";
     echo "<tr>";

     $output .='<div>'.$id.'&nbsp'.$fname.'&nbsp'.$lname.'&nbsp'.$Gender.'&nbsp '.$Age.'</div>';
   }
   }
 }
 ?> 
您可以这样做:

$age = $_POST['Age'];
$first_name = $_POST['FirstsName'];

$filter = "";

if(isset($age)) {
$filter .= " AND Age = '$age'";
}

if(isset($first_name)) {
$filter .= " AND Age = '$first_name'";
}

$query = mysql_query("SELECT * FROM Names WHERE lastname LIKE '%$searchq%' {$filter} ") or die("could not           search!");

你说的“姓也包括名和年龄”是什么意思?您还应该继续阅读,MySQL已被弃用(您应该使用)。请向我们展示您已经尝试过的内容。因此,这是为了让人们帮助你解决编程问题,而不是让他们为你做工作。