0

ページの下部までスクロールすると、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++;
    }

クエリ制限を削除すると、すべての結果が正しく表示されますか?

4

1 に答える 1

0

AJAXベースのページネーションを実行しようとしているようです。LIMITここでの問題は、句にオフセットを指定していないことだと思います。現在の方法では、クエリから常に同じ12の結果が得られます(もちろん、テーブルデータが変更されていないと仮定します)。あなたがしなければならない可能性が高いのは、次のLIMITように指定することです。

LIMIT <offset>, <number of records>

したがって、最初の12レコードを取得する場合は、次のようになります。

LIMIT 0, 12

次の12は次のようになります。

LIMIT 12, 12

等々...

于 2013-01-09T21:46:28.213 に答える