PHP für dich











Derzeit online: 24
Spenden via PayPal

Wir wollen nur ...

... ganz bestimmte Daten.

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 Schaffarik'";
  ?>
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 - zB 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 zB 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 5, 10";
  ?>
Damit werden 10 Datensätze ab dem 5. abgefragt.

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.
Allgemein

.: Startseite
.: Danke, Claudia
.: About me

.: Bücher
.: Download
.: Links
.: FAQ

.: Druck PHP
.: Druck MySQL

.: Impressum
.: Datenschutz

PHP

.: Anfang
.: Text ausgeben
.: Variablen
.: Var. übergeben
.: Math. Operatoren
.: Vgl. Operatoren
.: If-Anweisung
.: Log. Operatoren
.: Dateien
.: Suchen/Ersetzen
.: Datum & Uhrzeit
.: Arrays (+ foreach)
.: Tage & Monate
.: while-Schleife
.: for-Schleife
.: eMail-Versand
.: Includes
.: Zufall

MySQLTM

.: Anfang
.: DB und Tabellen
.: Tabellen füllen
.: Verb. herstellen
.: Einfache Abfrage
.: Weitere Abfrage
.: Daten ausgeben
.: Daten hinzufügen
.: Daten löschen
.: Daten ändern
.: Verb. beenden


© 2001 - 2008 Claudia Unkelbach Nach oben