私はやってそれを行うだろう:
つの検索要求は、次および前でそれらを投げるサーバとあなたがナビゲートしようとしている結果のJSON形式の配列を使用してサーバーの応答に-ajax-ボタンを使用すると、1回の検索要求を行うことによって、次回および前回のクリックごとにサーバーへの多数の要求を回避し、サーバーが現在の結果を追跡しないようにします。
クライアント側 - 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
![enter image description here](https://i.stack.imgur.com/mycLR.jpg)
<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コードでは、あなたの現在の検索結果の数を維持し、検索するときに、あなたのPHPの検索機能 – SergeyLebedev
に番号を送信しますこれはJavaの質問(あなたがタグ付けしたように)またはJavaScriptの質問ですか? –
私はあなたがこれを行うためにAJAXリクエストを使用しなければならないように、あなたのページにHTMLを埋め込むためにJavascriptを使用していないと推測しています。最終的には、検索フォームがあり、それはサーバーにデータを投稿し、サーバーはユーザーが見るデータである検索結果を修正することによって応答します。正しい?これはあなたがやろうとしているものであるため、「PHPページネーション」という言葉をGoogleに試してみてください。ユーザー入力ごとに結果の正しいページを取得するには、 'LIMIT'句を使用する必要があります.AJAXは必要なく、PHPで簡単に保つことができます。 –