我有一个大约有20列的mysql表,我要做的是从数据库中检索值,并将这些值发送到网页。
因此,通过使用mysql_fetch_array()
,我可以获得数据库中输入的第一个值,通过使用while(mysql_fetch_array())
,我可以检索数据库表中的所有值,通过fwrite()
,我甚至可以将值发送到文件中。
但问题是,如果我使用while(mysql_fetch_array())
,所有的值都会被检索到;我只想将数据库中输入的当前(最新)值发送到另一个页面。我该怎么做?
只需过滤查询即可获得所需结果。举个例子,假设你在数据库中有一个时间戳,做这样的事情:
SELECT * FROM table ORDER BY `timestamp_field` DESC LIMIT 1
显然,如果您想要更早的日期,您可以使用ASC而不是DESC。同样的逻辑也适用于您可能想要排序的其他列类型。
首先,如果您试图将LATEST值发送到另一个页面,为什么要运行一个接收所有值而不仅仅是所需值的查询?是否可以对新字段执行某些操作并检查最新的"date_created"值?所以你会得到这样的东西:
SELECT * FROM table ORDER BY date_created DESC LIMIT 1
现在,您将只获得数据库中输入的最新值。当然,您必须创建列:date_created;)
我们必须记住,从服务器获取许多数据,然后从接收到的数据中排序或获取我们想要的数据,这需要带宽和时间。在这种情况下,我们必须优化我们的sql查询,以解决带宽和时间的问题。
我接受MIKE编写的sql查询。在我看来,它似乎是针对你所面临的问题而优化的。
SELECT * FROM table ORDER BY
时间戳_字段DESC LIMIT 1
因此,在从上面的查询中获得数据后,您只需输出数据,这将帮助您减少从服务器获取数据的带宽和时间[这是一个严重的问题,因为5到10行并不重要,但如果有100000000000,那么它真的很重要]。
谢谢你的重要时间。