如何从MySQL $row[id]
和$row[timestamp]
中获取id和时间戳记结果,并对结果进行排序并获取具有最新匹配时间戳的id数组? 所以,如果我的MySQL数据库中有这个数据,如何对MySQL结果进行排序,然后获取PHP中最新的10个日期时间的标识
3,2015-08-24 10:38:31
,34,2015-08-24 10:38:16
,8,2015-08-24 10:38:51
我会为了从最新到最旧的时间戳,最终落得一个数组,该ID的的。
8,3,34
这里是我的代码省略信息。
$servername = "IP:PORT";
$username = "USERNAME";
$password = "PASSWORD";
$dbname = "DB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection to the database failed. Please try again. Error: " . $conn >connect_error);
}
$sql = "SELECT id, timestamp FROM posts ORDER BY timestamp DESC LIMIT 1,10;";
$result = $conn->query($sql);
$arrays = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$arrays[] = $row[id];
}
}
foreach ($arrays as $key => $id) {
$servername = "IP:PORT";
$username = "USERNAME";
$password = "PASSWORD";
$dbname = "DB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection to the database failed. Please try again. Error: " . $conn->connect_error);
}
$sql = "SELECT name,timestamp,text FROM posts WHERE id=\"" . $id . "\";";
$result = $conn->query($sql);
$arrays = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$date = date_create_from_format('Y-m-d H:i:s',$row[timestamp]);
$timezone = new DateTimeZone('America/Los_Angeles');
$timedate = date_timezone_set($date, $timezone);
$finaltimedate = $timedate->format('Y-m-d h:i:s A');
echo "<hr><h4>" . $row[name] . "<span style=\"float:right\">Time Posted: " . $finaltimedate . "</span></h4><br>";
echo $row[text] . "<br>";
}
}
}
然而,当我重新加载该页面,它只是显示了相同的,ID = 0,博客文章而不是发布0和4(仅2个)的2。
34将是最古老的,不是最新的,等 – Drew
这是一个'由dtColumn递减限制10' – Drew
你可以尝试改善这一问题的格式选择等等,从tablexxx秩序等等? – Strawberry