【问题标题】:sql query to display all days Exist between two date from databasesql查询显示所有日期存在于数据库的两个日期之间
【发布时间】:2015-05-18 11:16:15
【问题描述】:

表名 - 收据

   coupondate    name      recno
   15-04-2015     A          1
   15-05-2015     A          1
   15-06-2015     A          1
   15-07-2015     A          1
   15-08-2015     A          1
   15-09-2015     A          1      

对于 EX - 预期输出

Days  15-04 16-04 17-04 18-04 19-04 20-04 21-04.....like wise upto 15-09
 A     P     P     P     P     P      P     P                        P  

显示所选日期内的所有日期。

<?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 } ?>

下面的代码显示 P Else NULL

<?php if($row['coupondate'] == $x) { ?>
        <td>P</td>
        <?php }  else { ?>
        <td>NULL</td>

现在我无法理解如果优惠券日期与 $x 日期匹配,如何显示 P..

for ex - coupondate 从 15-04 开始,到 15-09 结束 ok..

现在我需要在 15-04 到 15-09 期间向该客户显示下方的 P

【问题讨论】:

  • 请发布一个带有示例数据和查询的 sqlfiddle 链接,您试图解决问题
  • 请注意,SQL 中的日期遵循特定格式,但除此之外,这只是一个关于数据显示的简单问题。您将在您的应用程序级代码 (php) 中使用一个简单的循环来处理它。没有必要为此发布 sqlfiddle。不是sql问题。
  • sql 小提琴链接..sqlfiddle.com/#!9/dcb16/1
  • 我知道如何生成天数,但问题是我需要在没有任何条件的情况下在查询中获取最小和最大优惠券日期,并且还需要在所有天数下方显示 P..
  • 请查看我编辑的问题并根据我的需要提出适当的解决方案...请...

标签: php mysql sql


【解决方案1】:

【讨论】:

  • 我知道如何生成天数,但问题是我需要在查询中获取最小和最大日期,还需要在所有天数下方显示 P..
  • 你可以使用 min 和 max 函数
猜你喜欢
  • 1970-01-01
  • 2020-05-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多