没有从表中提取所有结果

时间:2013-01-09 21:27:11

标签: php mysql ajax pdo

一些人在我滚动到我的页面底部时尝试使用AJAX从我的数据库中提取结果,我的前4个结果被复制然后放在我的页面底部,然后另外4个结果实际上没有显示出来未知原因:/任何人都可以看到我的查询有什么问题吗?

    // If county isnt set, show all data
    $sth = $conn->prepare("SELECT * FROM directory WHERE user_active != ''ORDER BY Date DESC LIMIT 12");
    $sth->execute(array(':county' => $county));

    $c = 1;
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
        echo '<div class="entry';
             if (($c % 4) == 1) echo ' alpha ';
             echo ' span3"><span class="name">' . $row['First_Name'] . ' ' . $row['Surname'] . "</span>";
             echo MORE STUFF HERE IS OUTPUT 
        $c++;
    }

我注意到如果我删除了查询限制,所有结果都显示正确吗?

1 个答案:

答案 0 :(得分:0)

听起来你正在尝试基于AJAX的分页。我想这里的问题是你没有在LIMIT子句中指定偏移量。您现在的方式是,您将始终从查询中获得相同的12个结果(当然假设表数据没有变化)。您可能需要做的是指定LIMIT,如下所示:

LIMIT <offset>, <number of records>

因此,如果你想获得前12条记录,那就是:

LIMIT 0, 12

接下来的12将是:

LIMIT 12, 12

依旧......