0

ページネーションに関する問題について、いくつかのロジックを回避しようとしています。

SQLクエリJSON配列に基づいてページネーション要素を構築する必要がありますが、これは大したことではありませんが、LIMIT引数で設定された「ページごとに表示」要素のみが返されるというページネーションの作業方法を除いて.

それを解決するために、私のコードを垣間見ることができます。

<form id="hidden">
<input type="hidden" name="limit" value="5" id="hshowpp" />
</form>
<form id="userform">
    <select id="ushowpp">
        <option value=5>5</option>
        <option value=10>10</option>
        <option value=15>15</option>
        <option value=20>20</option>
    </select>
 </form>

変更すると、jQuery がオフになります

$('#show').change(function() {
    var ushow = $('#ushowpp').val();
    $('#hshowpp').val(ushow);
}

そして、AJAX

var results = $('#hidden').serialize();
var url = '<php? echo JURI::base(); ?>index.php?option=com_mls&task=ListData&format=raw&' + results;
$.ajax({
    url: url,
    dataType: 'json'
});

したがって、AJAX はindex.php?.....limit=5、ユーザーが選択したクエリを返します。

さて、それがすべての仕組みのバックボーンです。私のロジックの問題は、ページネーションの問題を回避する方法です。AJAX に送信される URL には LIMIT 引数が含まれており、mySQL にヒットすると のようになります。LIMITSELECT * FROM my_table WHERE 1=1 AND ...... LIMIT 0,5の引数は「現在のページ」と「ページごとに表示」の値です。この問題は、「ページごとに表示」制限引数を含まない結果から合計ページ数を表示する必要がある場所に特に関係しています。

これのいずれかが理にかなっている場合...考え?

4

1 に答える 1

0

私の解決策は、制限パラメーターを個別の隠しフォームに分割し、.serlaize()必要に応じて各フォームをタンデムまたは独自に分割することでした。これが私の方法を説明するフィドルです。

于 2012-12-26T15:09:42.513 に答える