我使用PHP和MySQL制作了微博系统(如Twitter)。每当有人发布项目时,它都会在数据库中包含UNIX时间戳。但我的问题是,我如何获得页面顶部的最新项目,第二个是最新的项目,等等?所以基本上,在页面顶部有一个“最高”时间戳的那个,在那之下有一点'少'时间戳的那个。 这就是我得到的(我知道不推荐使用mysql_函数):
<?php
/*Database test.
© 2013 Sydcul. All rights reserved.
To set the database settings, use the 'install' directory*/
include ($_SERVER['DOCUMENT_ROOT'] . '/test/config.inc.php');
$connection = mysql_connect($host, $user, $password);
mysql_select_db($database, $connection);
$messages = mysql_query("SELECT * FROM `" . $prefix . "microblog`");
while($row = mysql_fetch_array($messages))
{
$names = mysql_query("SELECT first_name,last_name FROM `" . $prefix . "data` WHERE id='" . $row['id'] . "'");
$name = mysql_fetch_assoc($names);
$fullname = $name['first_name'] . " " . $name['last_name'];
echo "<h2>Posted by " . $row['id'] . " (" . $fullname . ")</h2>";
echo $row['message'] . "<br><br>";
}
mysql_close($connection);
?>
请解释如何操作,而不是只给我代码,否则我和stackoverflow上的其他人无法从中学习:)
答案 0 :(得分:5)
在SQL中使用ORDER BY
SELECT * FROM tablename ORDER BY datefield DESC
答案 1 :(得分:0)
如果您有auto_incrementing ID字段,请获取您的数据和ORDER BY ID
,否则如果您有DateField,请按降序排序
ORDER BY `ID` DESC
就这么简单。