검색 양식 구현에서는 사용자가 검색을 위해 단일 매개변수만 입력하도록 허용합니다. 사용자가 여러 매개변수를 지정할 수 있도록 하려면 제공된 매개변수를 기반으로 검색어를 동적으로 작성하도록 코드를 수정하는 것이 좋습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!