虽然,如果和其他条件

博格丹·康斯坦丁内斯库

我有代码:

while($res = mysql_fetch_array($rst)) 
        if(($res)==TRUE)
         echo "$res[2]";
        else
         echo "<img src='imagini/banner.png'>";

第一次显示结果时,它向我显示输出。如果条件为假,则第二个回波不显示图像。有什么帮助吗?:) 谢谢。

凤凰艺术

我会解决的一些格式化问题会增加可读性

while($res = mysql_fetch_array($rst)) 
    if(($res)==TRUE)
     echo "$res[2]";
    else
     echo "<img src='imagini/banner.png'>";

对此

while(false !== ( $res = mysql_fetch_array($rst) ) ){
    if($res[2] == true){ // or isset( $res[2] ) ?
         echo "$res[2]";
    }else{
         echo "<img src='imagini/banner.png'>";
    }
}

让我们从顶部开始。mysql_fetch_array http://php.net/manual/zh-CN/function.mysql-fetch-array.php〜返回一个数组或false。

然后我们针对false评估它,并将其值分配给$ res。接下来额外的()周围$res是没有意义的,甚至是检查真正在这里有可能是你的问题是少的意思,它永远不会进入循环为假,所以内环路$res决不会为假。最后加上适当的缩进和{brackets}

实际上,您可能打算这样做?

if( mysql_num_rows( $rst ) ){
    while(false !== ( $res = mysql_fetch_array($rst) ) ){        
        echo $res[2];    
    }
}else{
    echo '<img src="imagini/banner.png">';
}

在等效的PDO中

if( $stmt->rowCount() ){
    while(false !== ( $res = $stmt->fetch(PDO::FETCH_NUM) ) ){        
        echo $res[2];    
    }
}else{
    echo '<img src="imagini/banner.png">';
}

请注意mysql_ *系列函数自PHP5.5起已弃用http://php.net/manual/zh/book.pdo.php

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章