我正在尝试解决一些关于分页问题的逻辑。
我需要基于 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 时,会出现类似SELECT * FROM my_table WHERE 1=1 AND ...... LIMIT 0,5
LIMIT 的参数,其中 LIMIT 的参数是“当前页面”和“每页显示”值。该问题特别与我需要从不包括“每页显示”限制参数的结果中显示总页数的位置有关。
如果这有任何意义......想法?