我可以指定" 0"返回没有MySQL查询结果的数组上的值?
如果是的话,你能告诉我怎么做吗?
我的代码是这样的:
$grapes_query = mysql_query("SELECT fruitDate, fruitName, COUNT(*) FROM tbl_fruits WHERE fruitName='Grapes' GROUP BY
fruitDate");
while ($grapes = mysql_fetch_assoc($grapes_query)){
$grapes_array[]=$grapes['COUNT(*)'];
}
如果在一天中没有找到葡萄,我可以分配" 0"到它的数组值?
让我们说1/1/2012 =计算3个葡萄,1/2/2012 =没有计算葡萄,1/3/2012 =计算5个葡萄......所以阵列应该是这样的
$grapes_array[0]=3;
$grapes_array[1]= <-- i want to assign a string or number here when a MySQL query is empty.
$grapes_array[2]=3;
如果没有找到任何值,我会收到错误。
更新:
水果名称应该是葡萄...... :(
更新2:
HERE是我正在使用的示例数据库。
以下是我获得更新后的查询的结果
答案 0 :(得分:2)
更新的查询将提供有水果计数的日期,但当天没有计算葡萄
$grapes_query = mysql_query("SELECT f.fruitDate, IF(ISNULL(f1.count), 0, f1.count) as count FROM tbl_fruits f
LEFT JOIN (SELECT fruitName, fruitDate, COUNT(*) as count from tbl_fruits d WHERE d.fruitName='Grapes' GROUP BY d.fruitDate) as f1 ON (f.fruitDate = f1.fruitDate)
GROUP BY f.fruitDate");
while ($grapes = mysql_fetch_assoc($grapes_query)){
// use the fruitDate as a key for the array
$grapes_array[$grapes['fruitDate']]= $grapes['count'];
}
答案 1 :(得分:1)
你可以这样做:
[]
创建新的数字索引,而是使用日期作为键