我在我的MySQL数据库中有两个表:
表 "animals":
表格“订单”:
起初,我从“订单”表中选择以下数据:
现在我想检查我的MySQL表"animal"中的动物是否有一个名字。如果有,在位置b打印名字。如果没有名字,则打印动物本身。
表 "orders":
使用来自Jayo2k的以下代码...
我得到了这个结果:
但是我需要的是:
表 "animals":
| animal | name |
|:-----------|------------:|
| cat | Tom |
| dog | |
表格“订单”:
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
起初,我从“订单”表中选择以下数据:
<?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();
?>
现在我想检查我的MySQL表"animal"中的动物是否有一个名字。如果有,在位置b打印名字。如果没有名字,则打印动物本身。
| a:1 | b:Tom | c:cat |
| a:2 | b:dog | c:dog |
谢谢你的回答! 我现在尝试根据 Jayo2k 的回答来工作。我需要对我的问题进行一些小改变,我发现我犯了一个小错误。因此,在这里我尽可能详细地描述我需要的内容:
表 "animals":
| name | animal |
|:-----------|------------:|
| Tom | cat |
| Jerry | dog |
| Alfred | duck |
| Sam | |
| Donald | |
表 "orders":
| id | animal |
|:-----------|------------:|
| 1 | cat |
| 2 | dog |
| 3 | duck |
| 4 | frog |
| 5 | pig |
使用来自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();
?>
我得到了这个结果:
| a:1 | b:cat | c:Tom |
| a:2 | b:dog | c:Jerry |
| a:3 | b:duck | c:Alfred |
但是我需要的是:
| 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 |