所以我希望有一个带过滤器的搜索页面。例如,我会搜索产品并按价格或颜色过滤。我的代码在这里,我想搜索一个将根据我的过滤器显示的记录。在我的代码中,我只有LASTNAME。如果我搜索数据库中存在的姓氏,则会显示该记录。姓氏也包括名字和年龄。所以我想添加过滤器选项,比如按年龄或名字过滤它,而不仅仅是姓氏。我该怎么做?我尝试了很多代码,但仍然令人困惑。我希望能得到一些帮助。
<?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.' '.$fname.' '.$lname.' '.$Gender.'  '.$Age.'</div>';
}
}
}
?>
答案 0 :(得分:0)
你可以这样做:
$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!");