首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从MySQL存储10个最新行

从MySQL存储10个最新行
EN

Stack Overflow用户
提问于 2014-02-12 13:39:21
回答 3查看 73关注 0票数 1

我对MySQL很陌生,所以不要评判!无论如何,我要做的是将MySQL数据库中的10个最新行存储到一个PHP数组中。变量$news包含我从运行fetch_news()查询中获得的MySQL数据(我告诉它只能抓取内容,其中包含一个名为type的列,其中包含值"news“)。然而,我一直未能成功地做到这一点。

如果你们能提供一些帮助,或指导,这将是非常感谢,因为我已经坚持了很长一段时间了!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-12 13:46:09

代码语言:javascript
运行
复制
$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);
票数 2
EN

Stack Overflow用户

发布于 2014-02-12 13:47:42

虽然"type“列告诉您该行是否是新闻项目,但它没有告诉您什么时候将该行添加到表中。您还需要使用其他列,或者是某种增量计数器(比如"article_id“可能是),或者是将项添加到表中时的时间戳(在您的情况下,这可能是"article_timestamp”)。

有了其中的一种,你就可以按照你想要的方式对结果进行排序。当你对你的结果进行排序后,你需要把它们限制在你想要的10以内。

您可以在官方MySQL文档中找到有关ORDER的更多信息。

票数 0
EN

Stack Overflow用户

发布于 2014-02-12 13:50:35

代码语言:javascript
运行
复制
$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循环遍历结果并将它们添加到数组中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21729547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档