2013-06-20 117 views
1
<?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 '/'; 
    } 
} 
} 
} 
} 
?> 

试图订购日期为2011年1月28日的日期阵列和Decending。然后显示然后与他们之间的/中间。对于Android应用程序订购日期列表

+0

的最佳方式订购日期是YYYYMMDD。您应该使用此格式对它们进行排序并使用简单的方法将其转换为您所需的样式。 – Rob013

回答

0

您可以让您的SQL查询为您订购它们。这假定该列是日期格式。如果没有检查出这个:SQL ORDER BY date problem

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

<? 

$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 . '/'; 
} 

?> 
0

我不明白,为什么你使用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的格式为日期或日期时间