使用if-else…直到最后日期循环1的php代码
表格收据 我正在从表中选择min coupondate和max coupondate 下面是我的问题使用if-else…直到最后日期循环1的php代码,php,mysql,Php,Mysql,表格收据 我正在从表中选择min coupondate和max coupondate 下面是我的问题 SELECT RE.*,min(RE.coupondate) As mindate,max(RE.coupondate) As Maxdate FROM receipt_entry RE GROUP BY RE.receipt_no 接下来,我在表单中使用fromdate和todate文本框 如果用户输入fromdate=01-05-2015和todate=31-05-2015..则我将显示
SELECT RE.*,min(RE.coupondate) As mindate,max(RE.coupondate) As Maxdate FROM receipt_entry RE GROUP BY RE.receipt_no
接下来,我在表单中使用fromdate和todate文本框
如果用户输入fromdate=01-05-2015和todate=31-05-2015..则我将显示这两个日期之间的所有日期,如下面的示例
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ......upto ....31
我使用下面的代码来显示两个日期之间的所有日期
我尝试在下面的代码中打印1,它从mindate开始,到31结束
但是我的代码只在mindate下面显示1..就是这样
$row['mindate']是日期,$x是整数。我说的对吗?你的输出是正确的$行['mindate']只能是一个日期,不能是一个范围。检查您的查询。选择RE.*,minRE.coupondate作为mindate,maxRE.coupondate作为Maxdate。所以,在你的循环中,只有一个日期可以验证你的if条件,但如何才能得到我的预期输出…请…帮助…如果你理解我的问题…我需要打印1,从我的思维开始直到最后一天31。。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ......upto ....31
<?php
$startdate = $_POST['fromdate'];
$enddate = $_POST['todate'];
$start = date('d', strtotime($startdate));
$end=date('d', strtotime($enddate));
?>
<?php for ($x = $start; $x <= $end; $x++) {?>
<th width="58%"><?php echo $x; ?></th>
<?php } ?>
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ....31
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
<?php if (is_array($data)) { foreach($data as $row) { ?>
<tbody>
<tr>
<td><?php echo htmlspecialchars($row['customer_name']); ?></td>
<td><?php echo htmlspecialchars($row['startingdate']); ?></td>
<td><?php echo htmlspecialchars($row['coupondate']); ?></td>
<?php for ($x = $start; $x <= $end; $x++) { ?>
<?php if($row['mindate']== $x) { ?>
<td>1</td>
<?php } else {?>
<td>-</td>
<?php } ?>
<?php } ?>
</tr>
<?php } }?>
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ....31
- 1 - - - - - - - - - - - - - - - - - - - - -