Derzeit online: ca. 87 User  
Spenden via PayPal PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen, zusätzlichen Beispielen und Übungsaufgaben.
Jetzt in der aktualisierten Version bei Amazon oder BoD bestellen!


MySQL

Wir wollen aber nur...

... ganz spezielle Daten und nicht alle.

Bisher haben wir entweder alle Spalten oder einige Spalten einer kompletten Tabelle abgefragt. Das heißt, wir haben nicht nach irgendwelchen Kriterien ausgewertet. Aber auch das ist mit PHP und MySQL möglich.

Nehmen wir an, wir wollen alle Datensätze anzeigen, bei denen die id kleiner als 5 ist. Für den Zweck können wir folgenden Befehl verwenden:
<?php
$abfrage = "SELECT * FROM links WHERE id < 5";
?>
Durch das Anhängen des Befehls "WHERE" und der Bedingung, die daran angeschlossen wird, können wir das erreichen.

Möchte man alle Links anzeigen lassen, die von einem bestimmten Menschen sind, kann man auch dieses machen:
<?php
$abfrage = "SELECT * FROM links WHERE name LIKE 'Claudia Unkelbach'";
?>
Diese Abfrage enthält alle Links, bei denen mein Name eingetragen ist (ist natürlich hauptsächlich dann sinnvoll, wenn es dazu mehrere Links gibt).

Dabei muss das gesuchte Wort unter Anführungszeichen gesetzt werden.

Eine weitere "besondere" Abfrage erfolgt dann, wenn wir die Datensätze sortieren lassen - z. B. nach den Adressen der Seiten.

Zu diesem Zweck gibt es den Befehl ORDER BY.
<?php
$abfrage = "SELECT * FROM links ORDER BY url";
?>
Nach dem ORDER BY wird das Feld angegeben, nach dem sortiert werden soll.

Standardmäßig erfolgt die Sortierung von A bis Z. Möchte man sie jedoch umgekehrt sortiert haben kann man noch den Befehl DESC anhängen (der Befehl für eine Sortierung von A bis Z wäre ASC).
<?php
$abfrage = "SELECT * FROM links ORDER BY url DESC";
?>
Der Befehl DESC funktioniert nur in Verbindung mit einer ORDER BY Anweisung (sonst ist ja nicht bekannt, was absteigend sortiert werden soll).

Ein letzter interessanter Befehl für Abfragen ist das LIMIT.

Mit diesem kann bestimmt werden, dass nur eine bestimmte Anzahl von Datensätzen abgefragt werden soll (ist z. B. bei Gästebüchern sehr interessant).

Der Befehl besteht aus zwei Angaben. Die erste sagt, ab welchem Datensatz abgefragt werden soll und der zweite gibt an, wieviele Datensätze abgefragt werden sollen.
<?php
$abfrage = "SELECT * FROM links LIMIT 4, 10";
?>
Damit werden 10 Datensätze ab dem 5. abgefragt (der erste Datensatz ist 0).

Möchte man beim ersten Datensatz beginnen ist die zweite Angabe ausreichend (die Anzahl der Datensätze die abgefragt werden sollen).
<?php
$abfrage = "SELECT * FROM links LIMIT 10";
?>
Möchte man anstatt der ersten 10 Datensätze die letzten 10 angezeigt bekommen ist es sinnvoll, sie davor zu sortieren (am besten wiederum nach der id).
<?php
$abfrage = "SELECT * FROM links ORDER BY id DESC LIMIT 10";
?>
Zunächst werden die Datensätze nach der id sortiert und anschließend in eine absteigende Reihenfolge gebracht. Zum Schluss wird bestimmt, dass lediglich 10 Datensätze ausgegeben werden sollen.

Lass dich von dieser Vielzahl von unterschiedlichen Abfragen nicht verwirren. Die, die du verwendest bzw. brauchst, wirst du immer finden - einfach indem du dir durch den Kopf gehen lässt, was du brauchst.

Und als nächstes schauen wir uns an, wie wir die Daten ausgeben können, die wir gerade erhalten haben.

Dieses Kapitel behandelt einen ersten Einstieg in die Arbeit mit mySQL-Datenbanken. Es dient dem grundsätzlichen Verständnis der Kommunikation zwischen PHP und der Datenbank. Für den produktiven Einsatz ist es sinnvoll, sich detailierter mit diesem Thema zu beschäftigen und besonderen Augenmerk auf Sicherheitsaspekte zu legen.

Autor: Claudia Unkelbach

=> Weiter
© 2001 - 2017 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen