2013-01-09 46 views
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++; 
    } 

我注意到,如果我刪除查詢限制,所有結果顯示正確?

回答

0

這聽起來像你正在嘗試做基於AJAX的分頁。我想這裏的問題是你沒有在你的LIMIT條款中指定偏移量。你現在這樣做的方式,你總是會從你的查詢中得到相同的12個結果(當然假設表數據沒有改變)。你很可能需要做的是指定LIMIT這樣的:

LIMIT <offset>, <number of records> 

所以,如果你想獲得第12點的記錄將是:

LIMIT 0, 12 

未來12將是:

LIMIT 12, 12 

等等...

+0

感謝@MikeBrant,我做的是,這裏... $ result = mysql_query(「SELECT * FROM directory LIMIT {$ _POST ['count']},12」); – Liam

+0

@Liam我沒跟着。我沒有看到那個代碼。你是否在使用'mysql'函數和PDO? –