【问题标题】:Confusion with `if` `else` and `while`与 `if` `else` 和 `while` 混淆
【发布时间】:2012-01-06 02:33:54
【问题描述】:

我有一个代码,它应该检查结果是否等于8,它需要显示一些东西,如果不是,它需要显示一些东西else,所有这些都发生在while循环内。

while ($row_fpages2 = mysql_fetch_array($result_fanpage2))
{
    if ( $row_fpages2['client'] != NULL ) {

        //GRAPHS
    $sql = "SELECT likes, date FROM statistics_pages WHERE idnum = '".$idnum."' AND page_name = '".$row_fpages2['page_name']."' ORDER BY `statistics_pages`.`date` DESC LIMIT 8";
    $result2 = mysql_query($sql) or die(mysql_error());

    if ($result2) {
        $data   = array();

        while ($row = mysql_fetch_assoc($result2)) {
            $data[]   = $row["likes"];
        }

    if ($result2 == 8) {
    $c_data = count($data)-1;
    $final = array();
    for ($i = 0; $i < $c_data; $i++) {
    $final[] = getZeroResult($data[$i], $data[$i+1]);
}
    $data_string = join(",", $final);

    $stats = '<img src="http://chart.apis.google.com/chart?chs=240x140&cht=ls&chd=t:0,0|'.$data_string.'&chg=20,20&chls=0.75,-1,-1|6,4,1&chm=o,FF9900,1,-1,7,-1|b,3399CC44,0,1,0"></img>';

    } else {
        $stats = '<img src="images/stats_un.jpg"></img>';
    };



    } else {
        print('MySQL query failed with error: ' . mysql_error());
    }

echo '...';

问题是第一个输出总是显示( == 8)(即使它不等于8)而不是else输出。

然后,如果我有 2 个或更多所有内容都高于第一个是正确的,但第一个仍然显示 ( == 8)

有什么帮助吗?

【问题讨论】:

  • 这可能有助于正确缩进所有内容,以便您可以清楚地看到块。
  • 什么必须等于 8 .. 行数 ???因为如果 ($result2 == 8) $result2 持有资源 ID,我认为你不能这样做

标签: php mysql while-loop if-statement


【解决方案1】:

你做了以下不正确的事情:

$result2 = mysql_query($sql) or die(mysql_error());
...
if ($result2 == 8) {

mysql_query 的返回值是资源而不是 int。你想在那里做什么?

【讨论】:

  • 谢谢,你给了我很多帮助。我刚刚写了$row_r2 = mysql_fetch_array($result2);,然后用获取的数组var替换了mysql_query。谢谢。
【解决方案2】:

也许你想用

if(strlen($result2) == 8){
               ...
         }

而不是

if($result2 == 8){
               ...
         }

希望能解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2021-12-04
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多