1

嗨,基本上我正在尝试创建一个简单的 IF 语句,如果尚未将图片输入到我的数据库中,则该语句会显示默认图片。我正在使用服务器来存储我的图片和一个数据库来存储文件名,所以如果它在数据库中有一个文件名,我可以让图像显示,但我希望 If 语句说如果记录为空,则显示此默认值图片。我在这里有一些我尝试过的代码但是它没有任何想法?我尝试了其他一些方法,但它们也没有奏效。

干杯。

到目前为止的代码:

//Retrieves data from MySQL
$data = mysql_query("SELECT * FROM db*****") or die(mysql_error());

//Puts it into an array
while($info = mysql_fetch_array( $data ))
{
?>

        <div class="member">
        <div class="imageSection">
       <? 

        if($info['photo'] == '')
         {echo "<img class=\"memberImage\" src=images/default.jpg>";}
          else {echo "<img class=\"memberImage\" src=images/".$info['photo'] .">";}
         ?>
        </div>  
        <div class="memberInfo">
<? Echo "<p><strong>Name: ".$info['nameMember'] . "</strong></p>";
Echo "<p>Position: ".$info['bandMember'] . " </p>";
Echo "<p>About Band Member ".$info['nameMember'] .":".$info['aboutMember'] . "</p>";
Echo "<p>Other Bands: ".$info['otherBands'] . " </p><br/></div></div><br class=\"clearBoth\"/>";

}
?>
4

4 回答 4

4

那么简单的三元呢:

$photo = ($info['photo'] == null) ? "default.jpg" : $info['photo'];
echo "<img class=\"memberImage\" src=images/". $photo .">";
于 2009-01-30T20:57:26.707 回答
1

您确定该列的默认值设置为“”。它可以设置为空吗?虽然 idk 如果那会导致它不起作用。

在 if 语句之前添加以下代码

echo $info['photo'];

另一个建议是在比较之前修剪数据。

于 2009-01-30T20:57:48.233 回答
1

您可以使用file_exists,即使手动删除图像也可以使用。

$photo = 'images/'. $info['photo'];
if (file_exists($photo) == FALSE)
{
  $photo = 'images/default.jpg';
} 
echo '<img class="memberImage" src="'. $photo .'"/>';
于 2009-01-30T21:04:09.250 回答
0

empty()可以捕捉到你所追求的那种条件,所以试试

 if(empty($info['photo']))
 {
     ....
 }

如果参数为 ''、NULL、false、'0'、0 或空数组,则 empty() 返回 true。

于 2009-01-30T21:04:18.657 回答