我正在尝试处理一些关于分页的问题的逻辑。
我需要基于SQL查询JSON数组构建分页元素,这不是什么大问题,除非我处理分页的方式是只返回由限制参数设置的"show per page“元素。
为了弄清楚这一点,这里简要介绍一下我的代码。
<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包含一个限制参数,当它命中mySQL时,结果类似于SELECT * FROM my_table WHERE 1=1 AND ...... LIMIT 0,5,其中限制的参数是“当前页面”和“每页显示”值。这个问题特别与我需要显示不包含"show per page“限制参数的结果中的总页数有关。
如果这些都能让sense...thoughts成功呢?
发布于 2012-12-26 23:09:43
我的解决方案是将limit参数分解成一个单独的隐藏表单,这样,根据我需要做的事情,可以将每个表单串联在一起,也可以单独执行.serlaize()。这里有一个fiddle来说明我的方法。
https://stackoverflow.com/questions/13919518
复制相似问题