我有一个HTML表单,人们可以选择部分或全部关闭来搜索数据库中的成员个人资料。
有些选项是:
我需要定制MySQL查询以满足成员选择的选择。
我问,因为我之前构建了这样的自定义搜索,根据所选内容,它变成了一个包含多个查询的完整混乱。
最好只构建一个查询并根据所选内容添加部分吗?
有没有人有例子?
数据库架构:
我有许多带有相关信息的表,所以我需要使用连接。这就说一切都在一个主键PID上工作,所以它都会加入到这个。
答案 0 :(得分:2)
你可以这样做:
<?php
$whereClause = '';
if($_GET['gender'] == 'male'){
$whereClause .= ' AND gender = "M"';
}
if($_GET['age'] != ''){
$whereClause .= ' AND age = "'.$_GET['age'].'"';
}
?>
答案 1 :(得分:1)
我会使用数组:
$where = array();
if($_GET["gender"]!=""){
$clean = mysqli_escape_string($db, $_GET["gender"]);
array_push($where, "gender = '$clean'");
}
// etc...
$where = implode(" AND ", $where);
$sql = "SELECT * FROM table WHERE $where";