首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何过滤不同属性的搜索结果

如何过滤不同属性的搜索结果
EN

Stack Overflow用户
提问于 2014-09-12 22:28:42
回答 1查看 38关注 0票数 0

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

代码语言:javascript
运行
复制
 <?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>';
   }
   }
 }
 ?> 
EN

回答 1

Stack Overflow用户

发布于 2014-09-12 23:14:22

你可以这样做:

代码语言:javascript
运行
复制
$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!");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25810628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档