Ho due tabelle nel mio database MySql:Come posso collegare un valore di una tabella mySQL ad un valore di un'altra tabella?
tabella "animali":
| animal | name |
|:-----------|------------:|
| cat | Tom |
| dog | |
tabella "ordini":
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
All'inizio seleziono dalla tabella "ordini" del dati seguenti:
<?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();
?>
Ora voglio controllare se nella mia tabella mySQL "ani mal "l'animale ha un nome . Se si stampa in posizione b il nome. Se non v'è alcun nome stampa il animale:
| a:1 | b:Tom | c:cat |
| a:2 | b:dog | c:dog |
Grazie per le vostre risposte! Ho provato a lavorare ora con la risposta di Jayo2k. Ho bisogno di fare un piccolo cambiamento nella mia domanda, ho scoperto che ho fatto un piccolo errore. Così qui provo a descrivere quello che mi serve il più specifici possibile:
tabella "animali":
| name | animal |
|:-----------|------------:|
| Tom | cat |
| Jerry | dog |
| Alfred | duck |
| Sam | |
| Donald | |
tabella "ordini":
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
| 3 | duck |
| 4 | frog |
| 5 | pig |
Con questo codice da 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();
?>
... Ottengo questo risultato:
| a:1 | b:cat | c:Tom |
| a:2 | b:dog | c:Jerry |
| a:3 | b:duck | c:Alfred |
Ma quello che mi serve è:
| 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 che abbiano un senso !!ricorderò in anticipo :) - Grazie –
Questa è stata la risposta perfetta! – Jarla