我有代码:
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] 删除。
我来说两句