通过日期选择器范围对表进行排序

时间:2018-09-01 01:58:11

标签: php html mysql sql

我正在尝试通过日期选择器范围(服务器端)对数据表进行排序,但是无法使日期排序部分正常工作。当然有缺少的代码和其他问题。

我想念什么?

<html lang="en">
<head>
<title>List</title>
<script src="jquery-3.3.1.min.js"></script>
</head>
<body>
<h1 align="center">List</h1>
</br>
</br>
</br>
        <center> <p class="search_input">
        <form method="post" action="#">
        <input type="date" name="dateFrom">&nbsp;&nbsp;&nbsp;<input type="date" name="dateTo">&nbsp;&nbsp;&nbsp;
        <input type="submit" name="range" id="range" class="btn-info" />
        </form>
        </center>

<table align="center" cellspacing="0" cellpadding="0">
  <thead class="fixedthead">
  <th width="120px" style="text-align: center; color: navy">Name</th>
  <th width="120px" style="text-align: center; color: navy">Description</th>
  <th width="120px" style="text-align: center; color: navy">Date</th>
  <th width="120px" style="text-align: center; color: navy">Open</th>
  </thead>

  <?php 
//retrieve content via data picker range
$dateFrom = $_POST['dateFrom'];
$dateTo = $_POST['dateTo'];


  $conn = mysqli_connect("localhost", "root", "", "order");
      // get results from database
  $result = mysqli_query($conn, "SELECT * FROM order.item WHERE date BETWEEN '$dateFrom' AND '$dateTo' ", MYSQLI_USE_RESULT)
  or die(mysqli_error($conn));
  while($row = mysqli_fetch_array( $result )) {
  ?>

    <tbody>   
    <tr>     
    <td width="120px" style="text-align: center"><?php echo $row['name']; ?></td>
    <td width="120px" style="text-align: center"><?php echo $row['description']; ?></td>
    <td width="120px" style="text-align: center"><?php echo $row['date']; ?></td>
    <td width="120px"><a href = "download.php?id=<?php echo $row['id']; ?>" style='text-decoration:none;'><button>View</button></a></td>
   </tr>
  </tbody>
</table><br><br><br>
<?php
}
?>

</body>
</html>

感谢您的帮助。谢谢大家!

1 个答案:

答案 0 :(得分:0)

一无所知...

$last_five_days = time() - 432000;
$sql = "SELECT * FROM order.item WHERE order.date > ".$last_five_days." ORDER BY order.date ASC";

如果此答案无济于事,则您需要向我们提供有关“日期选择器范围”含义的更多信息。

ORDER BY {column} ASC|DESC按指示的列对行进行排序。默认为ASC

我正在使用WHERE子句来设置您的最后五天需求。我假设order.date(无论您实际使用的是什么名称)都在存储简单的UNIX时间戳。