【问题标题】:PHP & MySQL - Most efficient way to display last ten entries in a database?PHP & MySQL - 显示数据库中最后十个条目的最有效方式?
【发布时间】:2012-07-21 17:05:38
【问题描述】:

所以我有一个数据库,我想显示最后十个条目。

到目前为止,我已经尝试了几种方法,但遇到了几个问题。我已经尝试使用从数据库的行数开始的 for 循环并将其链接到 ID,但是我当然应该删除一个条目,迭代将丢失数据。例如,如果我删除了很多条目,并且第一个条目从 id 20 开始,那么如果只有 10 行,它将看起来显示 10 到 1,但不存在。

有什么想法吗?

【问题讨论】:

  • 我有点困惑,last ten entries in a database? 是什么意思通常是表中的最后十个条目。那么,您是不是要查找刚刚更新的十张表?

标签: php mysql database


【解决方案1】:

您可以尝试,具体取决于您的实现,

SELECT * FROM `table_name` WHERE conditions ORDER BY `id` DESC LIMIT 10;

【讨论】:

  • 你将如何使用它来显示 10 个条目?你会遍历这个吗?
  • 假设您将 PHP 设置为返回一个数组,是的。
  • 所以,这是一个非常基本的问题,但是新的 for 循环看起来如何理想呢?
  • 这取决于您的数据库功能。如果您使用 mysql_*,但您不应该使用,您将使用 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { // do things with $row }。如果您使用 PDO,您将使用 foreach ($query->result_array() as $row) { // do things with $row }。不知道 MySQLi。
  • *不应该使用my_sql*
【解决方案2】:

试试这个:

mysql_connect("localhost","usernm","pwd");
mysql_select_db("database");
$rs=mysql_query("SELECT id,col1,col2,coln FROM table_name WHERE condt ORDER BY id DESC LIMIT 10") or die(mysql_error());
while($row=  mysql_fetch_row($rs))
{
    print_r($row);
}

【讨论】:

    猜你喜欢
    • 2013-05-19
    • 2011-05-12
    • 1970-01-01
    • 2020-02-24
    • 2014-11-18
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多