2014-10-26 60 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