-2

我有一个新闻表,我想在每一行中选择 3 个最新的东西,它们的编号为 1 作为最旧的,我添加的每个数据都会增加一个数字。那么你如何获得三个最新的东西并在不同的地方展示它们呢?(对不起,我想不出如何表达我的问题)

编辑:我没有喜欢 html 或任何东西,所以显示了预期的效果,但我可以解释一下。我有一个有 4 行的 SQL 表。ID、标题、日期和发布。这是一个新闻提要,我想在主页上显示 3 条最新的新闻“文章”。但我不想只将它们显示为列表,我想将标题放在顶部 div 中,在日期旁边,我想按主键 (ID) 对其进行排序,然后将帖子放在下面的 div 中标题和日期。这是一个尝试向您展示:

标题 | 日期
最新消息。等等在这里插入大段新闻等等等等。

标题 | 日期
第 2 条最新消息。等等在这里插入大段新闻等等等等。

标题 | 日期
第三条最新消息。等等在这里插入大段新闻等等等等。
4

3 回答 3

1

首先,请不要使用“日期”作为您的字段名称,假设您将其重命名为 news_date。这个怎么样?

<?php 
$query = mysql_query ("SELECT * FROM yourtable ORDER BY id DESC LIMIT 3");
$number = 1;
while ($result = mysql_fetch_array($query)) { 
    $id = $result['id'];
    $title = $result['title'];
    $news_date = $result['news_date'];
    $post = $result['post'];
?>
    <div name='title'><?php echo $title; ?></div> || <div name='news_date'><?php echo $news_date; ?></div>
    <p>News <?php echo $number; ?></p>
    <p><?php echo $post; ?></p>
 <?php   
    $number++;
    }
?>
于 2013-07-15T03:50:45.543 回答
0

如果我让你正确,你可以使用LIMITORDER BY

例子

 `SELECT columns FROM yourtable ORDER BY primary_key DESC LIMIT 0,2`
于 2013-07-15T03:48:49.483 回答
0

如果我对您的问题的理解是正确的,那么您似乎有一个带有行标识符(编号为 1 到 ... n)的表,并且您想运行一个查询来返回 3 个最近插入的记录?

如果是这样:

假设您有一个名为 Books 的表,其结构如下:

Books:
- RowNumber
- Col_1
- Col_2
- ...

您需要做的是运行以下 SQL:

SELECT 
    TOP 3 *
FROM
    Books
ORDER BY
    RowNumber DESC

我希望这有帮助 :)

于 2013-07-15T03:51:25.683 回答