我正在尝试使用 php 和 pdo 构建一个排序器,我可以在其中为用户显示任务。我有几个选择,我可以从中选择一个值或全部。
<select id="select_user">
<option data-id="all">All</option>
<option data-id="1">User 1</option>
<option data-id="2">User 2</option>
<option data-id="3">User 3</option>
<option data-id="4">User 4</option>
</select>
根据任务是否完成来显示任务。
<select id="task_done">
<option data-id="all">All</option>
<option data-id="1">Done</option>
<option data-id="0">Not Done</option>
</select>
根据截止日期是否已过显示任务。
<select id="task_deadline">
<option data-id="all">All</option>
<option data-id="1">Passed</option>
<option data-id="0">Not passed</option>
</select>
通过一些 Ajax,我调用了如下所示的 php 函数:
function getTasksSorter($userid, $done, $passed) {
$stmt = $this->conn->prepare('SELECT * FROM tasks WHERE user_id = :userid AND done = :done AND deadline_date = :passed');
$stmt->execute(array('userid' => $userid,'done' => $done, 'passed' => $passed));
$row = $stmt->fetchAll();
foreach.. $row... build $html;
}
return $html;
}
如果我选择全部,显然这不起作用。我试图解决这个问题,但我无法弄清楚。如何修改代码以使所有选择起作用?
编辑:好的,我添加了很多更多信息,因为我第一次问的时候还不够清楚。我不想用一堆 if 语句来解决这个问题,必须有更好的解决方案。