使用一个或多个(多个)参数搜索表单
问题:
在以前的搜索表单实现一次只能使用一个参数。目标是修改这个表单,让用户输入一个或多个参数并接收相应的搜索结果。
解决方案:
为了实现这一点,我们将修改PHP代码,根据输入参数动态构建WHERE子句
已修改search.php:
<?php $wheres = []; $params = []; if (!empty($_POST['id']) && isset($_POST['id'])) { $wheres[] = 'a.uid = :uid'; $params[':uid'] = $_POST['id']; } if (!empty($_POST['major']) && isset($_POST['major'])) { $wheres[] = 'a.major = :major'; $params[':major'] = $_POST['major']; } if (!empty($_POST['college']) && isset($_POST['college'])) { $wheres[] = 'a.college = :college'; $params[':college'] = $_POST['college']; } if (!empty($_POST['name']) && isset($_POST['name'])) { $wheres[] = 'b.name LIKE :name'; $params[':name'] = '%' . $_POST['name'] . '%'; } $sql = "SELECT * FROM user_details AS a JOIN user AS b ON a.uid = b.id"; if (!empty($wheres)) { $sql .= " WHERE " . implode(' AND ', $wheres); } $stmt = $db->prepare($sql); $stmt->execute($params); // Display the results as in the original code
说明:
通过使用这种方法,用户现在可以输入多个参数并根据所有指定的结果获取结果标准。
以上是如何修改搜索表单以接受多个搜索参数?的详细内容。更多信息请关注PHP中文网其他相关文章!