> 백엔드 개발 > PHP 튜토리얼 > 다중 검색 매개변수를 허용하도록 단일 매개변수 검색 양식을 어떻게 수정합니까?

다중 검색 매개변수를 허용하도록 단일 매개변수 검색 양식을 어떻게 수정합니까?

DDD
풀어 주다: 2024-12-15 07:55:08
원래의
303명이 탐색했습니다.

How Can I Modify a Single-Parameter Search Form to Accept Multiple Search Parameters?

여러 매개변수가 있는 검색 양식

검색 양식 구현에서는 사용자가 검색을 위해 단일 매개변수만 입력하도록 허용합니다. 사용자가 여러 매개변수를 지정할 수 있도록 하려면 제공된 매개변수를 기반으로 검색어를 동적으로 작성하도록 코드를 수정하는 것이 좋습니다.

검색 양식(search.php)

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
}
로그인 후 복사

결과 페이지(결과 .php)

// Display the results as before, using a loop and echoing HTML for each result.
로그인 후 복사

입력 매개변수를 기반으로 쿼리를 동적으로 작성함으로써 사용자는 이제 검색 양식과 결과 페이지에서 여러 매개변수를 지정할 수 있습니다. 지정된 기준을 모두 일치하는 학생을 표시합니다.

위 내용은 다중 검색 매개변수를 허용하도록 단일 매개변수 검색 양식을 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿