MySQLi PHP-Abfrage mit mehreren Argumenten

Select mit Filterverknüpfung

Beim ersten Filterartikel haben wir besprochen, dass durch die where-Ergänzung der select-Befehl aus einer großen Zahl von Datensätzen nur bestimmte heraussuchen kann. Doch das Beispiel zeigte eine Abfrage mit einem Kriterium. Das kann in vielen Fällen durchaus ausreichen, zum Beispiel die Abfrage aller Bestellungen an einem bestimmten Tag über ein Datumsfeld.

Es kann aber auch sein, dass man 1.000 Datensätze hat und alle vom gleichen Tag sind. Dann braucht es mehr Argumente, um die Suchliste deutlich zu reduzieren und das ist sehr einfach möglich und gängige Praxis in MySQLi. Diese Technik kann man sich in PHP auch zunutze machen, um entsprechende Verarbeitungen anzuschließen.

Select-Abfrage mit MySQLi unter PHP samt mehreren Kriterien

$sql = "select * from adressen where nachname = 'Maier'";
    if($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()) {
                     echo "

".$obj->vorname." ".$obj->nachname."

";
                    }
    } else { echo mysqli_error($mysqli);exit; }

ist die Ausgangsbasis und war das Beispiel für den Filter mit dem where-Zusatz. Nun gehen wir ein gutes Stück weiter und bauen diese Abfrage deutlich aus und zwar mit

$sql = "select * from adressen where nachname = 'Maier' and plz > 9000 and plz < 9900";
    if($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()) {
                     echo "

".$obj->vorname." ".$obj->nachname."

";
                    }
    } else { echo mysqli_error($mysqli);exit; }

Die Abfrage ist von der Technik her die gleiche, aber jetzt werden alle Maier gesucht, die im Bundesland Kärnten zu Hause sind und zwar nur in Kärnten. In Österreich gibt es vierstellige Postleitzahlen und ab 9000 werden in Kärnten die Zahlen für die Städte und Gemeinden vergeben, jedoch ab 9900 in Osttirol, das nicht zu Kärnten zählt. Daher muss man zweifach abfragen - größer als 9000 und kleiner als 9900 um sein Ziel zu erreichen.

In diesem Fall hat man also eine typische Abfrage gebaut, die aber drei Argumente erfordert und es werden nur die Datensätze gelistet, die auch wirklich allen drei Argumenten entsprechen.

Lesen Sie auch

So richtig aus dem Vollen kann man dann schöpfen, wenn man die Programmiersprache PHP mit dem System der MySQLi-Datenbank verknüpft. Der SQL-Befehlssatz bleibt bestehen, wird aber durch die PHP-Umgebung ummantelt, damit beide kommunizieren können: die Datenbank weiß, was Sache ist und PHP versteht die Antwort. MySQL + PHP bedeutet, dass man direkt vom Skript aus auf die Daten zugreifen kann.

Die Grundvoraussetzung ist einmal das Anlegen einer Datenbank, was auch von PHP aus möglich ist und dann braucht es die Verbindung zur Datenbank.

Damit ist die Grundbasis gelegt und man kann Tabellen anlegen und die Daten speichern. Dabei kann mit mysqli_insert_id die aktuelle laufende Nummer für weitere Aktionen nützlich sein und wichtig ist das Verständnis mit mysqli_close, um nicht mehr gebrauchte Verbindungen zu beenden. Wichtig ist aber auch die richtige Schreibweise beim Arbeiten mit den Daten.

Das Herzstück ist aber die Abfrage. Zweifelsohne braucht man delete und andere Befehle auch, um zu manipulieren, aber mit select kann man verschiedenste Abfragen durchführen wie nach Kriterium, Menge oder auch als Stringabfrage samt Sortierungsangabe.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel