显示数据不存在的零

时间:2017-07-25 04:59:03

标签: php mysql

我想显示0,如果数据不存在,就像我的示例所需的输出。我尝试过使用numrows但仍然没有工作......对不起代码感到抱歉。我还在学习..非常感谢任何投入

    for ($x = 2013; $x<=2017; $x++) 
    { 

        $result= $myDB->query("SELECT * FROM ".$myDB->prefix("mydata")." WHERE year='$x' AND data_id=8");
                 $numrows = $myDB->getRowsNum($result);
                  while($row = $myDB->fetchArray($result))
                   {

                   $year=$row['year']; 
                  $total=$row['total']; 
                   echo "$year : $total <br />"; 
                   } 

     }

当前输出

    2013 : 456 
    2014 : 103
    2016 : 45 
    2017 : 34 

期望的输出

    2013 : 456 
    2014 : 103
    2015 : 0
    2016 : 45 
    2017 : 34 

我尝试了类似这样的东西而且它不起作用

for ($x = 2013; $x<=2017; $x++) { 

$result= $myDB->query("SELECT * FROM ".$myDB->prefix("mydata")." WHERE year='$x' AND data_id=8");
 $numrows = $myDB->getRowsNum($result);
 while($row = $myDB->fetchArray($result))
     { 

       if ($numrows > 0) {
           $year=$row['year']; 
       $total=$row['total']; 
    echo "$year : $total <br />"; 
       }
    else
    {
        echo "$x : 0 <br />"; 
    }


    } 
    }

1 个答案:

答案 0 :(得分:1)

    if ($numrows > 0) {
 while($row = $myDB->fetchArray($result))
     { 
       $year=$row['year']; 
       $total=$row['total']; 
    echo "$year : $total <br />"; 
     }
}
    else
    {
        echo "$x : 0 <br />"; 
    }

这样做