【发布时间】:2014-01-16 19:40:48
【问题描述】:
我在构建查询方面需要帮助,我有一个表单(多个下拉菜单)并且需要根据用户选择显示一个数据表。
filters.php(在服务器端 - ajax)
$criteria[0] = $_POST['Size'];
$criteria[1] = $_POST['Name'];
$criteria[2] = $_POST['Color'];
$criteria[3] = $_POST['Sku'];
$criteria[4] = $_POST['Features'];
$statement = $dbh->prepare("select * from table_name where Sku = :sku AND Size = :size AND Color = :color AND Features LIKE :features ");
$statement->execute(array(':name' => $criteria[1], ':Size'=> $criteria[0], ':color'=>$criteria[2], ':sku'=>$criteria[3], ':features'=> '%'.$features[4].'%'));
$statement->setFetchMode(PDO::FETCH_ASSOC);
$subrows = $statement->fetchAll();
// ect..
当所有条件都被选中(所有下拉菜单都有一个值)时,调用将返回 data ,但是如果用户只选择一个、两个或三个下拉菜单呢?如果使用上面的查询,它将返回一个空表。
我在想也许我应该先检查变量是否已设置,然后为每个场景执行一个查询?我有点迷失了如何实现它。
这个想法是在允许过滤的数据表旁边有一个带有下拉列表的小 div。 谢谢
【问题讨论】: