Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中使用表从MySQL中按日期分隔的数据_Php_Mysql_Database_Html Table - Fatal编程技术网

php中使用表从MySQL中按日期分隔的数据

php中使用表从MySQL中按日期分隔的数据,php,mysql,database,html-table,Php,Mysql,Database,Html Table,这来自PhpMyadmin数据: 这些就是代码 <table class="table table-bordered"> <thead> <tr><th>Sn</th><th>Status</th> <th>Location</th> <th>Time</th></tr> </thead> <tbody>

这来自PhpMyadmin数据:

这些就是代码

<table class="table table-bordered">
  <thead>
    <tr><th>Sn</th><th>Status</th> <th>Location</th> <th>Time</th></tr>
  </thead>
  <tbody>
    <?php
        $i=0;
        $query2 = "SELECT * FROM tbl_statustimeline WHERE cons_no = '$cons_no' ORDER BY date DESC";
        $results2 = $mysqli->query($query2);
        if($results2){
            while($row2 = $results2->fetch_assoc()) {
                $i++;
    ?>
    <tr>
      <td colspan='4'><?php echo $row2['date']; ?></td>
    </tr>
    <tr>
        <td><?php echo $i; ?></td>
        <td><?php echo $row2['status']; ?> - <?php echo $row2['Location']; ?></td>
        <td><?php echo $row2['address']; ?></td>
        <td><?php echo $row2['time']; ?></td>
    </tr>
    <?php
          }
        }
    ?>
         </tbody>
    </table>

状态定位时间
- 

因此,我需要2016-07-12、2016-07-15、2016-07-19等日期与这些信息分开显示。

如果您希望获得与DHL跟踪系统相同的结果,您有两种变体:

1) SELECT * FROM table ORDER BY TIMESTAMP(date_column,time_column) DESC
然后在脚本中检查当前行中的日期是否与前一行中的日期不同-此时必须显示日期分隔符

2) SELECT DISTINCT date_column FROM table
首先收集上述查询所需的所有日期,然后对于每个日期,必须显示日期分隔符并发出另一个SQL查询

SELECT * FROM table WHERE date_column = Your_Currently_Enumerated_Date ORDER BY time_column DESC

要获取时间及其状态

如果您希望获得与DHL跟踪系统相同的结果,您有两种变体:

1) SELECT * FROM table ORDER BY TIMESTAMP(date_column,time_column) DESC
<table class="table table-bordered">
      <thead>
        <tr><th>Sn</th><th>Status</th> <th>Location</th> <th>Time</th></tr>
      </thead>
      <tbody>
        <?php
            $i=0;
            $cons_no=$row["cons_no"];
            $query2 = "SELECT * FROM tbl_statustimeline WHERE cons_no = '$cons_no' ORDER BY date DESC";
            $results2 = $mysqli->query($query2);
            if($results2){
                $currentDate = false;
                while($row2 = $results2->fetch_assoc()) {
                    $i++;
                    if ($row2['date'] != $currentDate){
        ?>
        <tr>
          <td colspan='4'><?php echo $row2['date']; ?></td>
        </tr>
        <?php $currentDate = $row2['date'];
            }
        ?>
        <tr>
            <td><?php echo $i; ?></td>
            <td><?php echo $row2['status']; ?> - <?php echo $row2['Location']; ?></td>
            <td><?php echo $row2['address']; ?></td>
            <td><?php echo $row2['time']; ?></td>
        </tr>
        <?php
              }
            }
        ?>
        </tbody>
  </table>
然后在脚本中检查当前行中的日期是否与前一行中的日期不同-此时必须显示日期分隔符

2) SELECT DISTINCT date_column FROM table
首先收集上述查询所需的所有日期,然后对于每个日期,必须显示日期分隔符并发出另一个SQL查询

SELECT * FROM table WHERE date_column = Your_Currently_Enumerated_Date ORDER BY time_column DESC
获取时间及其状态


<table class="table table-bordered">
      <thead>
        <tr><th>Sn</th><th>Status</th> <th>Location</th> <th>Time</th></tr>
      </thead>
      <tbody>
        <?php
            $i=0;
            $cons_no=$row["cons_no"];
            $query2 = "SELECT * FROM tbl_statustimeline WHERE cons_no = '$cons_no' ORDER BY date DESC";
            $results2 = $mysqli->query($query2);
            if($results2){
                $currentDate = false;
                while($row2 = $results2->fetch_assoc()) {
                    $i++;
                    if ($row2['date'] != $currentDate){
        ?>
        <tr>
          <td colspan='4'><?php echo $row2['date']; ?></td>
        </tr>
        <?php $currentDate = $row2['date'];
            }
        ?>
        <tr>
            <td><?php echo $i; ?></td>
            <td><?php echo $row2['status']; ?> - <?php echo $row2['Location']; ?></td>
            <td><?php echo $row2['address']; ?></td>
            <td><?php echo $row2['time']; ?></td>
        </tr>
        <?php
              }
            }
        ?>
        </tbody>
  </table>
状态定位时间

状态定位时间

添加您想要的数据方式?数据将按日期分开。日期将显示每个日期的每一行。此时,其他状态将显示其他行。您可以检查DHL跟踪系统,以了解如何使用此跟踪号码显示其状态:9699662545。感谢您询问您想要什么样的数据?数据将按日期分开。日期将显示每个日期的每一行。此时,其他状态将显示其他行。您可以检查DHL跟踪系统,以了解如何使用此跟踪号码显示其状态:9699662545。谢谢Hanks IVO GELOV,我找到了我的解决方案。如果我的答案对你有帮助,你愿意投赞成票吗?如果没有-好吧,也许下次:))谢谢伊沃·盖洛夫,我找到了我的解决办法。如果我的答案对你有帮助,你愿意投赞成票吗?如果没有-好吧,也许下次:))