我是编码的初学者,需要一点帮助。我有一个代码,它根据 MySQL 表的列中的特定值显示图像,如下所示:
//Show last 10 added by ID
$sql = "(SELECT * FROM food_tbl ORDER BY food_id DESC LIMIT 10) ORDER BY food_id ASC;";
$result = $conn->query($sql);
$pathImg = "/images/";
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
$pathFile = $pathImg . $row['food_name'] . ".jpg";
echo '<img src="' . $pathFile . '">';
}
}
这输出,例如,banana.jpg ...问题是...当文件实际上不存在时,我想显示一个标准图像,例如,如果我没有一个名为banana.jpg的文件我的“/images/”目录将显示一个 unknownfood.jpg 文件(当然,它确实在该目录中)。
现在,事情是这样的,我已经在这里找到了一些东西: ---使用 PHP 根据 MySQL 表中的特定文本显示特定图像
...我最终尝试了这个:
while($row = $result->fetch_assoc()) {
$pathFile = $pathImg . $row['food_name'] . ".jpg";
if (file_exists($pathFile)) {
echo '<img src="' . $pathFile . '">';
} else {
$pathFile = $pathImg . "unknownfood.jpg";
echo '<img src="' . $pathFile . '">';
}
}
现在,这样做会完全忽略实际存在的文件。例如,如果我尝试显示banana.jpg,它将改为显示unknownfood.jpg。
我很确定这是我很容易搞砸的事情,或者我没有按照预期的方式使用。谢谢您的帮助!