我會做這樣做:
一個搜索請求-ajax-到服務器,並在您要瀏覽的結果JSON格式的數組服務器的響應由下一個和以前扔按鈕,通過執行一個搜索請求,您將避免對每次下一次和上一次單擊的服務器提出很多請求,並且還可以避免服務器跟蹤當前結果。
的客戶端 - Javascript和JQuery的
<script>
var results; // the results array that will have all your search results
var currentresult = 0; // the index of the current result
//the search ajax function
function buttonSearchPressed(){
$.ajax({type:"POST",url:"test.php",
data:{keyword:$('input#searchkeyword')[0].value}
success:function(data){
try{results = JSON.parse(data)}catch(e){alert('error');}
}
});
}
function previous(){
if(currentresult>0){
currentresult--;
$('span#result')[0].innerHTML =results[currentresult];
}
}
function next(){
if(currentresult<results.length-1){
currentresult++;
$('span#result')[0].innerHTML =results[currentresult];
}
}
</script>
的客戶端 - HTML
<input id="searchkeyword">
<button onclick="buttonSearchPressed()">search</button><br>
<button onclick="previous()">previous</button>
<span id='result'></span>
<button onclick="next()">next</button>
服務器端 - PHP test.php的
if($_SERVER['REQUEST_METHOD'] == "POST"){
//search ajax handler goes here
$keyword= $_POST['keyword'];//the search keyword
//apply the search you want here, (for example database query)
$searchResult = ["result1","result2","result3","result4","result5"];
$searchResult = json_encode($searchResult);
die($searchResult);
}
保持JavaScript代碼當前搜索結果的數量,在上一個/更新Next按鈕處理程序,並在搜索時,發送號碼給您的PHP搜索功能 – SergeyLebedev
是這是一個Java問題(正如你標記的那樣)或JavaScript問題? –
我猜你沒有使用Javascript來填充頁面上的HTML,因爲你必須使用AJAX請求來完成此操作。因此,最終,您有一個搜索表單,它將數據發佈到服務器,服務器通過修改用戶看到的數據(搜索結果)做出響應。正確?嘗試谷歌術語'php分頁',因爲這是你正在嘗試做的。你將需要使用'LIMIT'子句來獲得根據用戶輸入的正確結果頁面,你不需要AJAX,保持簡單並且使用PHP。 –