订购日期列表


Ordering a list of dates

<?php
$con=mysqli_connect("localhost","*********","***********","loadtracker");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}  
$result = mysqli_query($con,"SELECT Date FROM pallettracker GROUP BY Date");
$DateList = mysqli_fetch_array($result);
$ListOfMonths=array('Dec','Nov','Oct','Sep','Aug','Jul','Jun','May','Apr','Mar','Feb','Jan');$ListOfDays = array('31','30','29','28','27','26','25','24','23','22','21','20','19','18','17','16','15','14','13','12','11','10','9','8','7','6','5','4','3','2','1');
foreach ($ListOfDays as $value) {
foreach ($ListOfMonths as $value2) {
$Yaer = array("'$value2' + '$value' + ',2013'");
foreach ($Yaer as $yaerdate) {
 foreach ($DateList as $Dates) {
     if ($yaerdate == $Dates)
     {
         echo $yaerdate;
         echo '/';
     }
 } 
 }
 } 
 }
 ?>

试图对格式化为Jan28,2013和降序的日期数组排序。然后用/在它们之间显示它们。Android应用

您可以让SQL查询为您排序。这假定列是Date格式的。如果不是,检查这个:SQL ORDER BY date问题。

在查询中排序后,您只需要将其转换为时间,然后按需要格式化日期。这可能会给你你正在寻找的:

<?
$datetime = strtotime($row->createdate);
$mysqldate = date("m/d/y g:i A", $datetime);
$result = mysqli_query($con,"SELECT Date FROM pallettracker GROUP BY Date");
foreach($result as $date){
    $datetime = strtotime($result);
    $date = date("M d, y", $datetime);
    echo $date . '/';
}
?>

我不明白,当你不使用分组功能时,为什么要使用GROUP BY。这里更好的方法是DISTINCT

我将以这种方式更新你的代码:

$result = mysqli_query($con,"SELECT DISTINCT `Date` FROM `pallettracker` ORDER BY `Date` DESC");
while($date = mysqli_fetch_assoc($result)
{
    echo date('',strtotime($date['Date'])).'<br />';
}

重要的是,你的"日期"在mysql的格式是日期或日期时间