-1

我有一个大约 20 列的 mysql 表,我想做的是从数据库中检索值并将这些值发送到网页。

因此,通过使用,mysql_fetch_array()我可以获得输入数据库的第一个值,通过使用while(mysql_fetch_array()),我能够检索数据库表中的所有值,通过使用fwrite(),我什至可以将值发送到文件。

但问题是,如果我使用while(mysql_fetch_array()),所有值都会被检索;我只希望将数据库中输入的当前(最新)值发送到另一个页面。我该怎么做呢?

4

3 回答 3

1

只需过滤您的查询以仅获得所需的结果。因此,例如,假设您在数据库中有一个时间戳,请执行以下操作:

SELECT * FROM table ORDER BY `timestamp_field` DESC LIMIT 1

显然,如果您想要更早的日期,您可以使用 ASC 而不是 DESC。同样的逻辑也适用于您可能想要排序的其他列类型。

于 2012-08-31T17:45:20.183 回答
0

首先,如果您尝试将 LATEST 值发送到另一个页面,为什么要运行一个接收所有值而不仅仅是您需要的值的查询?是否可以使用新字段做某事并检查最新的“date_created”值?所以你会得到类似的东西:

    SELECT * FROM table ORDER BY date_created DESC LIMIT 1

现在您将只获得数据库中输入的最新值。当然,您必须创建列: date_created ;)

于 2012-08-31T17:46:34.610 回答
0

我们必须记住,从服务器获取许多数据然后从接收到的数据中排序或获取我们想要的数据是带宽加上时间消耗。在这种情况下,我们必须优化我们的 sql 查询来解决带宽和时间的问题。

我接受MIKE 编写的 sql 查询。在我看来,针对您所面临的问题进行了优化。

SELECT * FROM table ORDER BY时间戳字段DESC LIMIT 1

因此,在从上述查询中获取数据后,您只需输出数据,这将帮助您减少从服务器获取数据的带宽和时间[这是一个严重的问题,因为 5 到 10 行无关紧要,但如果有 100000000000 那么它非常重要]。

感谢您的重要时间。

于 2012-08-31T18:32:05.600 回答