两个图像在同一个if

时间:2013-06-15 14:25:01

标签: php

我正在使用需要两个图像显示的jQueryZoom(一个用于'a'标签,另一个用于'img'):

<a href="images/BIGIMAGE.JPG">  
    <img src="images/SMALLIMAGE.JPG">  
</a>

但我需要从MySQL的两个不同目录中获取这些图像(默认目录:'zoom'和目录:'normal'。所以我在我的HTML主体上尝试这个:

<?php if ( $imagePath = $results02['adaptador']->getImagePathFrontend() && $imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL ) ) { ?>

    <a href="<?php echo $imagePath ?>"  rel='gal1' id="demo1" ><img src="<?php echo $imagePathNormal ?>" /></a>

<?php } ?>

它带给我的只是第二个。在第一个中,它返回一个真值(1)。这是在浏览器上加载页面后的代码:

<a href="1"  rel='gal1' id="demo1" ><img src="../../images/produtos/adaptadores/normal/Adaptador 2P.png" /></a>

为什么'if'在第一个选项中返回true而不是在第二个选项中返回图像路径?

2 个答案:

答案 0 :(得分:2)

您必须单独对作业进行分组。现在你要为$imagePath分配一个布尔运算的结果。

if ( ($imagePath = $results02['adaptador']->getImagePathFrontend()) &&
     ($imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL )) )
{
    // ...
}

答案 1 :(得分:1)

将图像路径设置在外部或在其周围放置括号。您的操作顺序可能让您感到困惑

<?php 
$imagePath = $results02['adaptador']->getImagePathFrontend();
if ( $imagePath && $imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL ) ) { ?>

    <a href="<?php echo $imagePath ?>"  rel='gal1' id="demo1" ><img src="<?php echo $imagePathNormal ?>" /></a>

<?php } ?>