我正在制作新闻Feed,将日期存储为Tuesday 05 June 2012 04:14:44 PM
等字符串。
我想做两件事。
答案 0 :(得分:3)
我会更改存储空间以存储一些" unix timestamp"。从那里你可以打印whatever format of date you like。而且,它是一个数字,很容易排序。
答案 1 :(得分:0)
我想这可以解决您的问题,但我建议您尽可能修改表格设计。
$result = mysql_query("SELECT * FROM newsfeed");
$records = array();
$i = 0;
while ($row = mysql_fetch_array($result))
{
$records[$i] = array('news_idPK' => $row['news_idPK'],
'date' => date("Y-m-d H:i:s", strtotime($row['date'])),
'news' => $row['news']
);
$i++;
}
usort($records, "cmp");
function cmp($a, $b) {
$a = strtotime($a['date']);
$b = strtotime($b['date']);
return $a - $b;
}
$ctr = count($records)-1;
for($x=$ctr; $x>=0; $x--)
{
$newsDate = date("l d F Y h:i:s A", strtotime($records[$x]['date']));
if(date("Y-m-d", strtotime($records[$x]['date'])) == date("Y-m-d"))
{
$newsDate = date("h:i:s A",strtotime($records[$x]['date']));
}
echo $records[$x]['news_idPK']." - ".$newsDate." - ".$records[$x]['news']." <br/>";
}
答案 2 :(得分:-2)
此排序方法无效。您可以添加ID列并按ID排序。每当有人发帖,并将其插入到Feed中时,将插入一个递增的ID。它与日期排序并行 - 你想要最新的。
这是最推荐和最有效的排序方法。