我想显示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 />";
}
}
}
答案 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 />";
}
这样做