Mit PHP Abfrageformular mit verschiedenen Suchkriterien erstellen

kramoo

Mitglied
Habe eine grundsätzliche Frage ?

Wie funktioniert oder wie geht man am besten an folgende Aufgabenstellung heran?

In einer Datenbanktabelle sollte man mittels Formular mehrere Suchabfragen miteinander kombinieren und abfragen können.

Wie ist eine solche Suchanfrage prinzipiell aufgebaut?

Werden die übergebenen Suchkriterieen mit mehreren if abfragen geprüft und dann die SQL abfrage zusammengestellt?
 
Ja letzteres macht man eigentlich. Das Query wird aus verschiedenen Teilen, die sich aus dem Formularvariablen ergeben, zusammengebaut und dann abgeschickt.
 
Einzeln prüfen und mittels Array und implode zusammensetzen

Hier ien Beispiel das ich grad mal bei mir ins Wiki stellen werde....
PHP:
<form action="?" method="post">
    Text 1:<input type="text" name="text1" /><br />
    Text 2:<input type="text" name="text2" /><br />
    Zahl 3:<input type="text" name="zahl3" /><br />
    <input type="submit" name="submit" />
</form>
<hr />

<?php
if(isset($_POST['submit'])){
    $wheres = array();
    if($_POST['text1']) $wheres[] = "text1='{$_POST['text1']}'";
    if($_POST['text2']) $wheres[] = "text2='{$_POST['text2']}'";
    if($_POST['zahl3']) $wheres[] = "zahl3={$_POST['zahl3']}";

    if(count($wheres)>0) $wherestring = "WHERE ".implode(' AND ', $wheres);
    $sql = "SELECT * FROM mytable {$wherestring}";
    echo $sql;
}
?>
 
Habe ich mir durchgelesen. Super Ansatz. Darauf werde ich mal aufbauen. Das Problem ist noch das die Anfragen auch über mehrere Tabellen gehen können. Also sind viele Kombinationen möglich. Muss mir das mal genau skizzieren.

Aber der Ansatz hilft mir auf jeden Fall.
 
Zurück