这是我第一次发布问题。我是新手,我希望我在这条消息中得到所有格式正确。我喜欢堆栈溢出。它帮助我度过了许多具有挑战性的情况。但这个让我陷入困境。
我想用图像替换MySQL数据库结果。我有一个工厂数据库,我正在查询显示植物清单。我的结果表包括植物类型,植物学名称,通用名称以及它是否是原生植物。
原生植物的结果来自数据库,字母为“y”(表示是)。我想用橡树叶的图像替换'y'。我正在使用的代码显示所有植物上的橡树叶,而不仅仅是原生植物的橡树叶。
怎么办?我觉得我需要在while循环中插入一个if语句,但是当我尝试它时它永远不会工作。我已经尝试了几天不同的解决方案,并且想请求帮助。
这是我得到的最新代码,它显示了每种植物的图像,而不仅仅是本地植物:
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$native_image = $row['native'];
$image = $native_image;
$image = "images/oak_icon.png";
echo '<tr><td>' .
$row['plant_type'] .
'</td><td>' .
$row['botanical_name'] .
$row['common_name'] .
'</td><td>' .
$image .
'</td></table>';
}
答案 0 :(得分:1)
爆炸丸是正确的。您需要检查$ row ['native']是否为'y',然后将图像html设置为所需的任何内容。希望这会有所帮助。
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$image='';
if($row['native']=='y'){
$image = '<img src="images/oak_icon.png" />';
}
echo '<tr><td>' .
$row['plant_type'] .
'</td><td>' .
$row['botanical_name'] .
$row['common_name'] .
'</td><td>' .
$image .
'</td></table>';
}
答案 1 :(得分:1)
我希望我理解你的问题。
MySQL中的某些行有$ row ['native'],等于'y'。如果是这样,那么你是正确的 - 你必须在你的循环中放置一个if语句。 试试吧
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
if ($row['native'] == "y") {
//we show our image
$image = "images/oak_icon.png";
} else {
//we don't have to show our image
$image = "";
}
echo '<tr><td>' .
$row['plant_type'] .
'</td><td>' .
$row['botanical_name'] .
$row['common_name'] .
'</td><td>' .
$image .
'</td></table>';
}
你的IMG标签在哪里? =) 对于未来:在我的项目中,如果我想保存有关图像的信息,这属于MySQL中的行,我只保存图片的名称,它必须在哪里,如果没有,我保存名称空1x1 PNG图像(通常为“blank.png”)。如果你将blank.png放在IMG标签中,它具有固定的高度和宽度,那么IMG只占用页面上的位置。
我希望我帮助过你,这是我的第一个答案! =)
P.S。对不起我的英文...