2012-07-19 21 views
1

我动态地从数据库中获取图像链接并将它们插入到图像标签中。这个php代码检查是否有链接。如果有链接,则将该链接插入到img代码中。如果没有链接,则使用通用的“即将到来的图像”图片。Src链接和等号消失

echo '<tr> 
       <td width="80" height="46"> 
       <a href="displayitem.php?item_id='.$top_product_id.'">'; 
       if (!is_null($top_link) || $top_link == "") 
       { 
        echo'<img src = "'.$top_link.'" alt="" width="64" height="63" />'; 
        //echo $top_link; 
       } 
       else 
       { 
        echo'<img src = "imagen/imagecomingsoon.png" alt="" width="30%" height="40%" />';} 
       echo'</td><td width="108"><a href="displayitem.php?item_id='.$top_product_id.'">'.$final_name.'</a>'; 
       echo'</td> 
       </tr>'; 

我有一个奇怪的错误,如果没有图像链接,而不是使用通用图像,我得到一个空白。当我检查空白框时,发现img标签没有正确生成。在src指定后没有引号,甚至没有等号。它看起来像这样。

<img src alt="" width="64" height="63"> 

如果我想使用通用图像,乳清将整个等号与报价和链接一起消失吗?

+0

||前在IF之前尝试抛弃$ top_link,你会得到什么? – Gntem 2012-07-19 19:42:04

+0

无法用PHP 5.3.10,Firefox 14重现。如果不在等号周围使用空格,是否有不同的输出? – 2012-07-19 19:46:28

回答

3

你应该用!is_null($top_link) && $top_link != ""代替!is_null($top_link) || $top_link == ""。但我会取代整个条件:

if (!empty($top_link)) { 
    echo '<img src = ......'; 
} 

这将让你不在乎不同类型的空虚在PHP中。

+0

这个伎俩。使用空函数也改善了我在其他地方的代码。 – Dakkadakka 2012-07-29 18:10:53

0

检查你的代码后,我想你如果这种情况是哪里错了,试试这个

如果(!is_null($ top_link)|| $ top_link!=““)

0

我有一个建议,但我不知道这就是问题所在

试试这个:echo'<img src = '".$top_link."' alt="" width="64" height="63" />';

我把'了“

并更换与& &