而,如果和其他条件

时间:2015-07-31 23:03:59

标签: php mysql multiple-conditions

我有代码:

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

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

3 个答案:

答案 0 :(得分:1)

这里的相对路径很可能是错误的。确保正确设置。

修改

虽然路径可能是一个问题,但它并不是最大的问题。

你最想要的是:

// this tests if there are zero or more rows in your result
if (mysql_num_rows($rst)==0)
{
    echo "<img src='imagini/banner.png'/>";
}
else
{
    while ($res=mysql_fetch_array($rst))
    {
         echo $res[2];
    }
}

// this tests, for each row, if a column is set or not
while ($res=mysql_fetch_array($rst))
{
    // index is the index of the column that can be set or not
    if (empty($res[index]))
    {
        echo "<img src='imagini/banner.png'/>";
    }
    else
    {
         echo $res[2];
    }
}

此外,您似乎从数据库中检索<img>标记,因为您有一个默认的<img>标记作为替代。如果$res[2]具有此模式<img src='some_path'/>,则可以修改数据库的内容以仅保留相对路径(不带标记)并在while循环中回显标记。

答案 1 :(得分:1)

我会修复一些可以提高可读性的格式化内容

Trigger only if build is stable

到此

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'>"; } } https://developers.google.com/adwords/api/docs/guides/optimizing-oauth2-requests#authenticating_multiple_accounts〜返回数组或false。

然后我们根据false对其进行评估,并将其值分配给$ res。接下来,mysql_fetch_array周围的额外()毫无意义,即使在此处检查为真可能您的问题意味着更少,它将永远不会以错误形式进入循环,因此在循环内{{} 1}}永远不会错。最后添加了适当的缩进和$res

实际上你可能打算这个?

$res

在等效的PDO中

{brackets}

请注意,自PHP5.5起,mysql_ *系列函数已弃用 http://php.net/manual/en/function.mysql-fetch-array.php

答案 2 :(得分:0)

尝试切换if和else,这样你就可以看出它是否与你输出的内容有关,或者它是否无法到达其他地方。

    if(($res)==FALSE)
     echo "<img src='imagini/banner.png'>";