Dafür gibt's INNER/LEFT/RIGHT JOINS. Ein, aus einem eigenen Skript angepasstes Beispiel:
PHP-Code:
$result=mysql_query('SELECT bands.id AS bid, bands.name, daten.datum, daten.ort
FROM bands INNER JOIN daten ON bands.id=daten.band_id
ORDER BY bands.name ASC, daten.datum DESC;') or die(mysql_error());
if (mysql_affected_rows()>0) {
$last_band='';
while ($data=mysql_fetch_assoc($result)) {
if ($last_band!=$data['name']) {
echo " <br>n";
echo " <u>".$data['name']."</u><br>n";
$last_band=$data['name'];
}
echo " - am ".$data['datum']." in ".$data['ort']."<br>n";
}
}
else {
echo ' Noch keine Daten';
}
Man liest also erst alle relevanten Daten aus. Dann werden von jeder Band die Daten angezeigt.