【发布时间】:2014-03-01 14:50:56
【问题描述】:
我有一个 PDO 查询来选择同一日期过去五年的日记:
$sql = 'select * from diary where dtime in (?,?,?,?,?) order by dtime desc';
$result = $db->prepare($sql);
$result->execute($fiveYears); //pass in the $fiveYear array of five dates like 2014-03-01, 2013-03-01 ~ 2010-03-01
然后我使用这样的 foreach 循环回显结果:
foreach($result as $row){
~~echo table contents here~~
}
我想在五个表中显示内容,即使那一年没有内容,但 foreach 循环只回显有内容的日期。所以如果有 2014-03-01 和 2012-03-01 的内容,结果是:
- 2014-03-01:日记内容
- 2012-03-01:日记内容
但我想让它显示出来
- 2014-03-01:日记内容
- 2013-03-01:空
- 2012-03-01:日记内容
- 2011-03-01:空
- 2010-03-01:空
您能帮我了解如何实现这一目标吗? 我应该将 $fiveYear 数组与结果数组结合起来吗?如何? 我应该在 PHP 中使用 in_array 吗? 还是有更好的方法来做到这一点? 谢谢!
【问题讨论】: