2017-03-10 2 views
1

Ich habe zwei Auswahlfelder mit der Suchschaltfläche. In einem Auswahlfeld ist fruit und ein zweites ist car. Nun ist das Problem 1) Wenn jemand aus dem ersten Auswahlfeld auswählt und zweite Auswahlfeld zeigt dann alle Datensätze an (bedeutet, dass es alle Obst- und Autosätze anzeigen wird). 2) Wenn jemand nur Erstes Auswahlfeld auswählt, dann alle Datensätze anzeigen (bedeutet, dass nur Fruchtsätze angezeigt werden) oder 3) zweites Auswahlfeld auswählen und dann alle Datensätze anzeigen (bedeutet, dass alle Fahrzeugsätze angezeigt werden).Abfrage für die Suche in den Aufzeichnungen in Mysql

Unten Abfrage habe ich versucht, es ist die Anzeige Es ist für die erste Ausgabe Arbeits

SELECT * FROM request WHERE fruit='$fruit' and car='$car' 

ich eine Abfrage für benötigen 2) und 3) in einzelnen Abfrage. Würdest du mir dabei helfen?

+1

Sie erreichen dies mit PHP – Kasnady

+0

Versuchen Bedingungsanweisung zu verwenden, wenn das Kontrollkästchen ‚isset‘ zu überprüfen. Fügen Sie die Aktion dann zur Abfrage hinzu. – Jhay

+0

SELECT * FROM Anfrage WHERE (iset ($ _ POST ['Frucht'])? Obst = '$ Frucht': Frucht = '') und (Isset ($ _ POST ['Auto'])? Auto = '$ Auto'): car = '') – Jhay

Antwort

1

hierfür müssen Sie ein wenig Logik entwickeln Ich bin zu raten, wie POST-Methode

if(isset($_POST['search'])) 
{ 
$con =" 1=1 "; 
if(!empty($_POST['fruit']) && !empty($_POST['car'])){ 
$con .=" and want_to_learn='".$_POST['fruit']."' and expert_in='".$_POST['car']."'"; 
} 
else if(!empty($_POST['fruit'])){ 
$con .=" and want_to_learn='".$_POST['fruit']."'"; 
} 
else if(!empty($_POST['car'])){ 
$con .=" and expert_in='".$_POST['car']."'"; 
} 

$search_sql="SELECT * FROM request WHERE ".$con ; 
$search_result = $conn->query($search_sql); 
} 
+0

Danke für die Antwort Mr.Knowledge, Was ist $ conf = "1 = 1 und"? –

+0

Wenn Sie keinen ausgewählten Wert haben, bedeutet das, dass, wenn eine Bedingung nicht wahr ist, Ihre Abfrage wie SELECT * FROM request WHERE 1 = 1 aussieht und alle Daten der Tabelle enthält. es ist nur für, wenn Sie keinen Wert –

+0

auswählen, ist es für Sie arbeiten? –

Verwandte Themen