2009-09-02 22 views
1

嗨,我想瀏覽點擊每10條記錄。單擊下一個或上一個時,AJAX調用應從SQL QUERY中獲取每條記錄的下10條記錄。在初始頁我有一個SQL查詢,該查詢獲取10條如何瀏覽使用MYSQL和jquery ajax調用的每10條記錄

SELECT VENUENAME FROM VENUES LIMIT 10 

<a style="float:right" id="next-nav" href="#">Next</a> 


$("#next-nav").click(function(){ 
$("#hidNavigation").val(parseInt($("#hidNavigation").val()) + 1); 
$.ajax({ 
    type: "POST", 
    url: "loaddynamic.cfm?template=mapresults&startrow=" + $("#hidNavigation").val(), 
    cache: false, 
    dataType: "json", 
    success: function(data){ 
    //show venues 

    } 
}); 
}); 

我使用AJAX頁面內查詢是

SELECT VENUENAME FROM VENUES LIMIT startrow, 10 

我想提取的記錄是唯一的,也是使鏈接( prev/next)在最後一個記錄的開始/結束時不可點擊。請幫幫我。 我正在使用MYSQL數據庫和jQuery。

回答

2

您的查詢應該像這樣:

SELECT VENUENAME FROM VENUES ORDER BY VENUENAME LIMIT numrows OFFSET startrow 

確保你這麼STARTROW傳遞作爲一個佔位符參數查詢。此外,我添加了ORDER BY子句,並且只是將VENUENAME引入......您可能需要ID,但幾乎可以肯定需要某種排序。

要使鏈接不可點擊,您需要計算行數,以便確定總頁數。

SELECT COUNT(*) FROM VENUES 

爲了應對UI元素,我會使用jQuery的尋呼機插件,而不是試圖推出自己的:http://github.com/jonpauldavies/jquery-pager-plugin/tree/master

+0

SELECT VENUENAME FROM場館ORDER BY VENUENAME LIMIT 10 OFFSET STARTROW的查詢是針對AJAX頁?並且不需要更改主頁面的查詢?我在AJAX頁面中使用了你的查詢,但它仍然是一樣的,我可以看到重複的記錄。 ( – nash 2009-09-02 11:06:35

+0

)會發生什麼,它只是移動一個記錄,我的意思是第一個記錄消失/移動,當我打下一個,而它應該移動10個記錄例如:第一組出現A,B,C,D,E,F,G ,H,I,J,當我點擊它時顯示B,C,D,E,F,G,H,I,J,K – nash 2009-09-02 11:16:27

+0

這是因爲你每次點擊只會增加#hidNavigation的值1 。所以,當你點擊的時候,你的startrow的值是1,2,3等。在你的js函數的第一行中,將+ 1改爲+10。 我真的建議看一看jQuery pager插件,這應該讓你不必擔心分頁的毛毛細節。 – 2009-09-02 11:40:35

0

鏈接不能被禁止點擊。你可以做的就是隱藏它們並用靜態文本替換它們,或者你可以捕捉點擊,這會讓你在點擊處理函數中出界。對於'上一個'鏈接,可以通過驗證#hidNavigation的值大於0來實現。要查明您是否在列表的末尾,首先必須查詢可用場地的數量像這樣:

SELECT COUNT(*) FROM VENUS; 

一旦你的客戶端上的信息,禁用 '下一步' 鏈接,如果(在僞代碼)(#hidNavigation + 1)* 10> =數場地。