【发布时间】:2013-08-18 10:18:30
【问题描述】:
我有 4 个目录过滤器(名称、id、日期、价格)。这些是来自用户的输入,用于查看数据库中的特定数据。这 4 个过滤器将在 php 上产生 4^2 (16) 个 sql_queries,因为某些过滤器可能为空。有没有更好的方法来减少查询?
示例:
if(isset($_POST['filters']))
{
$date = $_POST['date'];
$timi = $_POST['timi'];
$employee = $_POST['dropdown_users'];
$proion =$_POST['dropdown_proionta'];
$query = ("SELECT * FROM id_of_orders WHERE username='$employee' AND price = '$timi' AND time = '$date' AND proion='$proion'");
$result=mysql_query($query);
while($row= mysql_fetch_array($result))
{
echo $row['id_order'] . " " . $row['time'] . '<br>';
}
}
【问题讨论】:
-
您能否澄清一下您希望如何过滤数据?
-
所以即使某些过滤器为空,我也想返回数据。
-
该代码中只有一个查询,而不是 16 个。很难理解问题所在。
-
如果所有过滤器都不为空,将使用此查询。例如,如果 $date 为空,我必须在没有 time ='$date' 的情况下进行另一个查询