这是我第一次发布问题。我是一个新手,我希望我在这条消息中所有的格式都是正确的。我喜欢堆栈溢出。它帮助我度过了许多具有挑战性的情况。但这个问题让我很为难。
我想用图像替换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>';
}发布于 2013-05-19 08:13:56
我希望我理解了你的问题。
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>';
}在我的项目中,如果我想保存关于图片的信息,那属于MySQL中的行,我只保存图片的名称,它必须在哪里,如果不是,我保存空的1x1PNG图像的名称(通常是"blank.png")。如果你把blank.png放在IMG标签中,它有固定的高度和宽度,所以IMG只占你页面上的位置。
我希望我能帮到你,这是我的第一个回答!
附注:对不起,我的英语...
发布于 2013-05-19 08:13:39
爆炸药片是正确的。您需要检查$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>';
}https://stackoverflow.com/questions/16630156
复制相似问题