찾다

 >  Q&A  >  본문

검색에는 제출된 검색 입력 값에 대한 결과만 포함됩니다.

<p>안녕하세요. 가능하다면 검색 스크립트와 관련해 기꺼이 도와드리겠습니다. </p><p>세 가지 유형의 검색 입력과 제출 버튼을 사용하여 데이터베이스에서 차량에 대한 데이터를 검색하는 검색 기능이 있습니다.

입력 1: 옵션 목록 검색(searcha)

입력 2: 텍스트 검색(searchb)

입력 3: 두 개의 단일 선택 검색 선택 버튼(1개 또는 2개 버튼 선택 가능)</p><p>제출 버튼도 있습니다.

검색을 제출하면 다음 PHP 코드가 실행됩니다. 결과가 표시되지만 데이터베이스의 첫 번째 올바른 결과와 일치하는 경우에만 표시됩니다. 제출된 검색 입력 값만 포함된 결과를 검색할 수 있기를 원합니다. </p><p>예를 들어, 입력 1에서 옵션을 선택하고 입력 3에서 라디오 버튼을 선택하면 검색에서는 두 값이 모두 포함된 행만 찾아야 합니다(해당되는 경우).


<pre class="brush:php;toolbar:false;"><? //차량 if (in_array($_POST['searcha'], $search_a_option_list)) { $stmt = $pdo->prepare('SELECT * FROM coun WHERE inth = ?'); $stmt->execute([ $_POST['searcha'] ]); $search_results = $stmt->fetchAll(PDO::FETCH_ASSOC); } else if ($_POST['searchb']) { $stmt = $pdo->prepare('SELECT * FROM count WHERE bunty LIKE ?'); $stmt->execute([ '%' . $_POST['searchb'] . '%' ]); $search_results = $stmt->fetchAll(PDO::FETCH_ASSOC); } else if (isset($_POST['radio1'], $_POST['radio2'])) { $stmt = $pdo->prepare('SELECT * FROM coun WHERE ref = ? OR ref1 = ?'); $stmt->execute([ 'In', 'On' ]); $search_results = $stmt->fetchAll(PDO::FETCH_ASSOC); } else if (isset($_POST['radio1'])) { $stmt = $pdo->prepare('SELECT * FROM coun WHERE ref = ?'); $stmt->execute([ 'In' ]); $search_results = $stmt->fetchAll(PDO::FETCH_ASSOC); } else if (isset($_POST['radio2'])) { $stmt = $pdo->prepare('SELECT * FROM coun WHERE ref1 = ?'); $stmt->execute([ 'On' ]); $search_results = $stmt->fetchAll(PDO::FETCH_ASSOC); } 또 다른 { $error = '선택된 옵션이 없습니다!'; } ?></pre> <p>입력된 검색어를 반영하도록 이 스크립트를 조정하는 쉬운 방법이 있습니까? 나는 이제 막 PHP를 배우기 시작했기 때문에 적절한 가이드가 완벽할 것입니다. 감사해요.


P粉541551230P粉541551230484일 전533

모든 응답(1)나는 대답할 것이다

  • P粉930534280

    P粉9305342802023-07-26 09:07:18

    우선 라디오 버튼 두 개를 동시에 선택하는 방법을 모르겠습니다. 체크박스를 말씀하시는 건가요? 귀하의 질문과 관련하여 - 어쨌든 쿼리를 실행해야 하지만 $_POST 값을 기반으로 빌드해야 합니다.

    아마도 다음과 같습니다:


    으아악

    회신하다
    0
  • 취소회신하다