我对MySQL很陌生,所以不要评判!无论如何,我要做的是将MySQL数据库中的10个最新行存储到一个PHP数组中。变量$news包含我从运行fetch_news()查询中获得的MySQL数据(我告诉它只能抓取内容,其中包含一个名为type的列,其中包含值"news“)。然而,我一直未能成功地做到这一点。
如果你们能提供一些帮助,或指导,这将是非常感谢,因为我已经坚持了很长一段时间了!
发布于 2014-02-12 13:46:09
$query = 'SELECT *
FROM `table_name`
WHERE `type`="news"
ORDER BY `article_id` DESC
LIMIT 10';
$query = mysqli_query($link, $query);
$result = array();
while ($row = mysqli_fetch_assoc($query)) {
$result[] = $row;
}
print_r($result);
发布于 2014-02-12 13:47:42
虽然"type“列告诉您该行是否是新闻项目,但它没有告诉您什么时候将该行添加到表中。您还需要使用其他列,或者是某种增量计数器(比如"article_id“可能是),或者是将项添加到表中时的时间戳(在您的情况下,这可能是"article_timestamp”)。
有了其中的一种,你就可以按照你想要的方式对结果进行排序。当你对你的结果进行排序后,你需要把它们限制在你想要的10以内。
您可以在官方MySQL文档中找到有关ORDER的更多信息。
发布于 2014-02-12 13:50:35
$newest_ten = array();
$command = "select * from table_name order by date DESC limit 10";
$result = $db->query($command);
while($data = $result->fetch_assoc()){
$newest_ten[] = $data;
}
该命令从表table_name中获取所有列,根据它们的日期(从最新到最老)排序,然后只给出其中的前十列。
while循环遍历结果并将它们添加到数组中。
https://stackoverflow.com/questions/21729547
复制相似问题