在搜索表单实现中,您允许用户仅输入单个参数进行搜索。要使用户能够指定多个参数,请考虑修改代码以根据提供的参数动态构建搜索查询。
if ( (isset($_POST['id']) && !empty($_POST['id'])) || (isset($_POST['major']) && !empty($_POST['major'])) || (isset($_POST['college']) && !empty($_POST['college'])) || (isset($_POST['name']) && !empty($_POST['name'])) ) { $params = array(); $wheres = array(); if (isset($_POST['id']) && !empty($_POST['id'])) { $wheres[] = 'a.uid = :uid'; $params[':uid'] = $_POST['id']; } if (isset($_POST['major']) && !empty($_POST['major'])) { $wheres[] = 'a.major = :major'; $params[':major'] = $_POST['major']; } if (isset($_POST['college']) && !empty($_POST['college'])) { $wheres[] = 'a.college = :college'; $params[':college'] = $_POST['college']; } if (isset($_POST['name']) && !empty($_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); } // ... prepare and execute the query ... } else { // Handle the case when no parameters are set }
// Display the results as before, using a loop and echoing HTML for each result.
通过根据输入参数动态构建查询,用户现在可以在搜索表单中指定多个参数,结果页面将显示符合所有指定条件的学生。
以上是如何修改单参数搜索表单以接受多个搜索参数?的详细内容。更多信息请关注PHP中文网其他相关文章!