<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를 배우기 시작했기 때문에 적절한 가이드가 완벽할 것입니다. 감사해요.
우선 라디오 버튼 두 개를 동시에 선택하는 방법을 모르겠습니다. 체크박스를 말씀하시는 건가요? 귀하의 질문과 관련하여 - 어쨌든 쿼리를 실행해야 하지만 $_POST 값을 기반으로 빌드해야 합니다.
아마도 다음과 같습니다:
으아악