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

7vhp5slm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(347)

我试图通过日期选择器范围(服务器端)对数据表进行排序,但无法使日期排序部分正常工作。肯定有代码缺失和其他问题。
我错过了什么?

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

感谢您的帮助。谢谢你们!

a64a0gku

a64a0gku1#

对你的数据库一无所知。。。

$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时间戳。

相关问题