Ich habe zwei Tabellen in meiner mySQL Datenbank:Wie kann ich einen Wert einer mySQL-Tabelle mit einem Wert einer anderen Tabelle verbinden?
Tisch "Tiere":
| animal | name |
|:-----------|------------:|
| cat | Tom |
| dog | |
Tabelle "Aufträge":
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
Zuerst wähle ich aus der Tabelle "Aufträge" der folgende Daten:
<?php
$pdo = Database::connect();
$sql = 'SELECT * FROM orders ORDER BY id ASC';
foreach ($pdo->query($sql) as $row) {
echo ('<td>a:'.$row['id'].'</td>');
echo ('<td>b:'.$row['animal'].'</td>');
echo ('<td>c:'.$row['animal'].'</td>');
}
Database::disconnect();
?>
Jetzt möchte ich überprüfen, ob in meiner mySQL-Tabelle "ani Mal "Tier hat eine Name. Wenn ja, drucken Sie an der Position b die Name. Wenn es kein Name Druck der Tier:
| a:1 | b:Tom | c:cat |
| a:2 | b:dog | c:dog |
Vielen Dank für Ihre Antworten! Ich habe versucht, jetzt mit der Antwort Jayo2k zu arbeiten. Ich muss eine kleine Änderung in meiner Frage machen, ich fand heraus, dass ich einen kleinen Fehler gemacht habe. Also hier versuche ich zu beschreiben, was ich brauche, so genau wie möglich:
Tisch "Tiere":
| name | animal |
|:-----------|------------:|
| Tom | cat |
| Jerry | dog |
| Alfred | duck |
| Sam | |
| Donald | |
Tabelle "Aufträge":
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
| 3 | duck |
| 4 | frog |
| 5 | pig |
Mit dem folgenden Code aus Jayo2k ...
<?php
$pdo = Database::connect();
$sql = "SELECT * FROM animals, orders WHERE orders.animal = animals.animal";
foreach ($pdo->query($sql) as $row) {
echo '<tr> ';
echo('<td>a:'.$row['id'].' </td>');
echo('<td>a:'.$row['animal'].' </td>');
echo('<td>b:'.$row['name'].' </td>');
echo '</tr> ';
}
Database::disconnect();
?>
... ich dieses Ergebnis:
| a:1 | b:cat | c:Tom |
| a:2 | b:dog | c:Jerry |
| a:3 | b:duck | c:Alfred |
Aber was ich brauche, ist:
| a:1 | b:cat | c:Tom |
| a:2 | b:dog | c:Jerry |
| a:3 | b:duck | c:Alfred |
| a:4 | b:frog | c:frog |
| a:5 | b:pig | c:pig |
@JayBlanchard, die Sinn machen !!wird im Voraus beachten :) - Danke –
Dies war die perfekte Antwort! – Jarla