我希望从开始日期到日期结束日期显示数据库中的记录...记录包含在记录插入时插入数据库的日期...记录不会每天存储,所以必须有一个两个日期之间的差距记录。所以现在我想要每天显示记录,如果特定日期没有记录我想要显示0而不是它。
我能够显示日期存储在数据库中的记录。但是无法显示数据库中没有日期的记录。
>$res=mysql_query("SELECT DISTINCT Date FROM TABLE_NAME WHERE Date BETWEEN startdate AND enddate");
>while($row = mysql_fetch_array($res))
>{
> $date[] .= $row['Date'];
>}
>
>foreach($date as $da)
>{
> $query = "SELECT * FROM TABLE_NAME WHERE Date = '".$da."' ";
> $result = mysql_query($query);
> while($row = mysql_fetch_array($result))
> {
> $prod = $row['No_of_prod'];
> }
> echo $prod;
>}
答案 0 :(得分:1)
您每天都将空条目放入数据库并获取它 在PHP代码中,您创建一个数组,其中键作为日期从开始日期开始直到它到达结束日期,并且它的值将为零(0)。获取数据库记录后,您可以使用array_merge 函数然后生成的最终数组可用于显示数据。根据您的创建日期范围的请求,代码为
$dt_start = new DateTime('20090101');
$dt_end = new DateTime('20090222');
$arrDates[] = $dt_start->format('M');
while ($dt_start->modify('1 day') <= $dt_end) {
$arrDates[$dt_start->format('Y-m-d')] = 0; // Or whatever you want to do with it.
}
$arrDates
包含日期范围。