2014-10-26 66 views
0

嗨我有这样的代码,我想如果src=""是空的显示图像。显示图像占位符如果src的空

我使用!empty,试图显示我的图像占位符,你可以在这里看到:

<img src="'. 
    (!empty($cardata["PictureRefs"])) 
    ? (explode(',', $cardata["PictureRefs"])[0]) 
    : "db-content/theme/media/img/no-image.jpg" . '" data-src="'. 
     (explode(',', $cardata["PictureRefs"])[0]) .'" alt="'.$cardata["Variant"].'"/> 
<img class="ms-thumb" src="'. 
    (!empty($cardata["PictureRefs"])) 
    ? (explode(',', $cardata["PictureRefs"])[0]) 
    : "db-content/theme/media/img/no-image.jpg" .'" alt="'.$cardata["Variant"].'" /> 

出于某种原因,这不是我的网页上工作,它只是打破了网页。

任何想法,我可能会去错了吗?我只剩下PDO从页面文本中显示的数据库中获取的外部url。

CODE:

<?php $src = "db-content/theme/media/img/no-image.jpg"; 
     if(!empty($cardata["PictureRefs"])){ 
     $src = explode(',', $cardata["PictureRefs"])[0]; 
     } 
     $dataSrc = explode(',', $cardata["PictureRefs"])[0]; ?> 
      <?php echo ' 
       <div class="ms-slide"> 
        <img src="'.$src.'" data-src="'.$dataSrc.'" alt="'.$cardata["Variant"].'"/> 
        <img class="ms-thumb" src="'.(explode(',', $cardata["PictureRefs"])[0]).'" alt="'.$cardata["Variant"].'" /> 
       </div>' ?> 

它只是显示404,它试图获得在首位的图像。

+0

这看起来和* *恐怖*,它不干。至少为它创建一个函数,否则你会在整个地方重复那个混乱。 “只是打破了页面。”不是一个适当的问题描述。确保php显示错误并告诉我们错误。 – burzum 2014-10-26 21:11:23

回答

0

虽然我不知道什么错误呢,我重构为顺序的第一个图像的代码,使其更容易阅读,并帮助别人理解:

$src = "db-content/theme/media/img/no-image.jpg"; 

if(!empty($cardata["PictureRefs"])){ 
    $src = explode(',', $cardata["PictureRefs"])[0]; 
} 

$dataSrc = explode(',', $cardata["PictureRefs"])[0]; 

echo '<img src="'.$src.'" data-src="'.$dataSrc.'" alt="'.$cardata["Variant"].'"/>'; 

您是否使用PHP 5.5或后来?以这种方式进行数组解引用(来自爆炸函数的结果)需要PHP 5.5或更高版本。

它可以是,以查看结果页面的源极和张贴有用。

+0

谢谢你,我试过使用它,但我没有运气。我会将我使用的确切代码添加到原始帖子中,您是否可以看到可能导致此问题无效的任何内容? – 2014-10-26 21:54:47