MySQL 使用 LIMIT 无论记录的 id 是什么

标签 mysql limit

我正在制作一个类似博客的事件日历,其中显示即将发生的事件。过去的事件不再出现。一切正常,但我想将记录数量限制为每页 10 条,然后单击进入下一组。

现在我有这个:

<?php
$past = strtotime('now');

$result = mysql_query("SELECT * FROM data ORDER BY '$thedate' ASC LIMIT 0,10");
while($row = mysql_fetch_object($result))
{
    $end_event_date = $row->end_strtotime;
    if($end_event_date > $past) { 
        //display data

问题是,过去的事件仍然在此列表中“计算”,具体取决于它们的 id,如果它们按照需要在过去,它们就不会显示。因此,可能只显示 3 或 7 条记录,而不是 10 条记录。我该如何实际显示接下来的 10 个事件(按日期排序,无论其 ID 是什么)?感谢您的任何提示...

最佳答案

仅过滤查询中过去的事件。这使您的代码更容易并解决您的问题。试试这个:

<?php
$past = strtotime('now');

$result = mysql_query("SELECT * FROM data WHERE end_event_date > NOW() ORDER BY '$thedate' ASC LIMIT 0,10");
while($row = mysql_fetch_object($result))
{
    //display data

如果字段名称在您的数据库中的名称不同,您可能需要更改字段名称 end_event_date

注意:请不要再使用mysql_*函数。它们已被弃用。请改用 mysqli_*PDO

关于MySQL 使用 LIMIT 无论记录的 id 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20311467/

相关文章:

mysql - 如何将 800MB .sql 文件导入到 Windows/phpmyadmin 的 XAMPP

php - 移动服务器破坏了 MySQL 数据库驱动的谷歌地图

mysql - 在两个表的Left Join中,选择左表中的所有记录,并从右表中仅选择与左表匹配的一行记录

ruby-on-rails-3 - Rails 3 太阳黑子限制选定记录

javascript - 重复数组在一定限度内上下移动

database - 使用 SQL :2008 standard on PostgreSQL using prepared statements 限制结果

python-2.7 - 帮助程序扫描超过 90000 个文档失败?

mysql - 用于检查范围的 SQL 查询

php - Mysql,如何避免对同一张表进行多次连接

mysql - SQL:将多行转换为同一行中的列