Daten, die nicht in der gleichen Tabelle stehen, gemeinsam abfragen und ausgegeben. Grundkenntnisse von MySQL und PHP werden vorausgesetzt.

Oft stehen Daten, die abgefragt werden, nicht immer in der gleichen Tabelle, sollen jedoch in einer gemeinsamen Abfrage ausgegeben werden. Die Verknüfung zwischen den Tabellen(-zeilen) wird durch eine Spalte ID gegeben, die in beiden Tabellen existiert und denselben Wert aufweist. Für diese Anleitung setze ich diesen Artikel voraus.

Schritt 1: Stellen Sie eine Verbindung her

Wird in diesem Artikel beschrieben.

1
2
<?php require_once('connect.php'); ?>

Schritt 2: Tabelleninhalte

Im Folgenden nehme ich an, dass die Tabelle login folgende Spalten enthält: user_id, user_name, user_passwort. Die Tabelle daten soll folgende Spalten enthalten: user_id, telefon, e-mail, fax.
Die Zeile user_id soll in beiden Tabellen identisch sein.

Schritt 3: MySQL Abfrage

1
2
3
4
5
$sql = "SELECT user_name, telefon, e-mail FROM login l, daten d WHERE l.user_id = d.user_id";
$result = mysql_query($sql);
if (!$result) {
    die('Ungültige Abfrage: '.mysql_error());
}

Erklärung

SELECT user_name, telefon, e-mail stellt die gewünschten Datensätze zur Verfügung. Sollte ein Datensatz in beiden Tabellen vorhanden sein, muss definiert werden, aus welcher Tabelle die Daten genommen werden. Dies geschieht mit login l, daten d. Das l bzw. d definiert die Abkürzung für die jeweilige Tabelle. Mit l.user_id wird definiert, dass die Daten aus der Tabelle login genommen werden sollen.
WHERE l.user_id = d.user_id verknüpft die beiden Tabellen, so dass die Daten aus Tabelle login auch den Userdaten aus Tabelle daten entsprechen.