显示默认图像

时间:2012-03-28 05:34:34

标签: php mysql

我在default_image列中的db中有一个默认图像集。如果default_image = 1,我希望它显示默认图像,如果default_image = 0,我希望文本说没有可用的图像。 如何确保仅显示默认图像。这是我现在正在做的事情,它只显示具有相同link_id的任何图像。

列media_link是图像的地址。

<?php if (!empty($row['default_image'])){
echo "<a href='http://localhost/images".$row['media_link']."'><img src='http://localhost/images".$row['media_link']."'/></a>"; 
}
else{
    echo "<div align=\"center\">No image available</div>";
}?>

如何在数据库显示中使default_image为“1”而不做其他事情?感谢。

编辑:
这是另一段代码,用于显示该link_id的所有图像

if ($row['media_link']){
echo "<a href='http://localhost/t_images".$row['media_link']."'><img src='http://localhost/images".$row['media_link']."' /></a>"; 
}
else{
    echo "<div align=\"center\">No images available</div>";
}
}

此电流ID有6张图像 当我在这个页面上回显vardump时,正确的图像有这个 string(1)“1”
而其他5张图片“非默认”
显示此字符串(1)“0”
我不确定如何在我的第一个代码中仅显示正确的默认图像。 这个信息有帮助吗?

再次编辑/修复:
我通过在我的查询结尾添加ORDER BY default_image DESC来修复它。不知道这是否是最好的事情,但如果有人有任何其他建议,我会很高兴听到他们。谢谢大家的帮助。你们都给出了很好的答案,但最后我只是将声明的顺序添加到我的查询中,它就是这样,所以我很高兴。 谢谢!

3 个答案:

答案 0 :(得分:2)

在您的情况下,$row['default_image']是一个字符串。当然,PHP不是强类型语言,但它仍然需要弄清楚你的意思。在您的示例中,您期望这样:

empty("0") === true

这不会发生。空字符串""为空,数字0为空,但字符串"0"不为空。相反,你可以使用以下任何一种:

$row['default_image'] !== "0"
  // Uses strict comparison, which might not be what you expect
0+$row['default_image'] != 0
  // Uses casting, which might fail if the string doesn't contain a number
$row['default_image'] != "0" || !empty(0+$row['default_image'])
  // Uses short-circuiting, and should cover all (most) cases

还有其他变种。我自己,我不确定我会在它们之间做出选择:这完全取决于你的意思。

答案 1 :(得分:1)

将Default_image检查为1而不是空。
试试:..

<?php
if( isset($row['default_image']) && $row['default_image'] == 1){
echo "<a href='http://localhost/images".$row['media_link']."'><img src='http://localhost/images".$row['media_link']."'/></a>"; 
}else{
    echo "<div align=\"center\">No image available</div>";
}
?>

答案 2 :(得分:1)

试试这个......

<?php if (!empty($row['default_image']) && $row['default_image'] == 1){
         echo "<a href='http://localhost/images".$row['media_link']."'>
               <img src='http://localhost/images".$row['media_link']."'/></a>"; 
      }
      else{
         echo "<div align=\"center\">No image available</div>";
      }?>