Die Suche enthält nur Ergebnisse für den übermittelten Sucheingabewert.
P粉541551230
2023-07-25 09:17:02
<p>Hallo, wenn möglich helfe ich Ihnen gerne bei Ihrem Suchskript. </p><p>Ich habe eine Suchfunktion, die mithilfe von drei Arten von Sucheingaben und einer Schaltfläche zum Senden Daten über Fahrzeuge aus der Datenbank abruft. </p><p>Eingabe 1: Optionslistensuche (searcha)</p><p>Eingabe 2: Textsuche (searchb)</p><p>Eingabe 3: zwei einzelne Auswahl Schaltfläche zum Auswählen der Suche (Sie können eine oder zwei Schaltflächen auswählen)</p><p>Es gibt auch eine Schaltfläche zum Senden. </p><p>Wenn ich eine Suche abschicke, wird der folgende PHP-Code ausgeführt. Die Ergebnisse werden angezeigt, jedoch nur, wenn sie mit dem ersten korrekten Ergebnis in der Datenbank übereinstimmen. Ich möchte, dass Ergebnisse durchsucht werden können, die nur den übermittelten Sucheingabewert enthalten. </p><p>Wenn ich beispielsweise eine Option aus Eingabe 1 und ein Optionsfeld aus Eingabe 3 auswähle, sollte die Suche nur Zeilen finden, die beide Werte enthalten (sofern das sinnvoll ist). </p><p><br /></p>
<pre class="brush:php;toolbar:false;"><?
//Fahrzeuge
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 coun 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);
} anders {
$error = 'Keine Optionen ausgewählt!';
}
?></pre>
<p>Gibt es eine einfache Möglichkeit, dieses Skript anzupassen, um die eingegebene Suche widerzuspiegeln? Ich fange gerade erst an, PHP zu lernen, daher wäre eine richtige Anleitung perfekt. Danke. </p><p><br /></p>
首先,我不明白如何同时选择两个单选按钮,你是指复选框吗?关于你的问题 - 无论如何,你应该执行一个查询,但根据你的$_POST值构建它
可能是这样的: