繁体   English   中英

PHP MySQL +基于表单选择创建搜索查询

[英]PHP MySQL + Create Search Query Based off Form Selection

我有一个HTML表单,人们可以选择其中的一部分或全部来搜索数据库中的成员资料。

一些选项是:

  • 男/女
  • 年龄
  • 位置
  • 诸如意图或兴趣之类的复选框
  • 等等

我需要定制一个MySQL查询以满足成员选择的选择。

我之所以这样问,是因为我之前建立了这样的自定义搜索,并且根据选择的内容,它变成了一个包含多个查询的完整混乱局面。

最好仅构建一个查询并根据选择的内容添加部分?

有人有吹牛的例子吗?


数据库架构:

我有一些带有相关信息的表,因此我需要使用联接。 那就是说,一切都在一个主键PID上起作用,因此都将在此基础上加入。

您可以执行以下操作:

<?php
  $whereClause = '';
  if($_GET['gender'] == 'male'){
    $whereClause .= ' AND gender = "M"';
  }
  if($_GET['age'] != ''){
    $whereClause .= ' AND age = "'.$_GET['age'].'"';
  }
?>

我会使用一个数组:

$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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM