Javascript PHP中的分页jTable
如何在jTable和PHP中使用分页? 我在employeeTable.php中有下面的代码Javascript PHP中的分页jTable,javascript,php,jquery-jtable,Javascript,Php,Jquery Jtable,如何在jTable和PHP中使用分页? 我在employeeTable.php中有下面的代码 <script src="jtable.2.4.0/jquery.jtable.min.js" type="text/javascript"></script> //Get record count $result = mysql_query("SELECT COUNT(*) AS RecordCount FROM employee;"); $r
<script src="jtable.2.4.0/jquery.jtable.min.js" type="text/javascript"></script>
//Get record count
$result = mysql_query("SELECT COUNT(*) AS RecordCount FROM employee;");
$row = mysql_fetch_array($result);
$recordCount = $row['RecordCount'];
//Get records from database
$result = mysql_query("SELECT * FROM employee ORDER BY '" . $_REQUEST["jtSorting"] . "' LIMIT '" . $_REQUEST["jtStartIndex"] . "','" . $_REQUEST["jtPageSize"] . "';");
//Add all records to an array
$rows = array();
while($row = mysql_fetch_array($result))
{
$rows[] = $row;
}
//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['TotalRecordCount'] = $recordCount;
$jTableResult['Records'] = $rows;
print json_encode($jTableResult);
如果我更改$_请求[“jtSorting”]=rowname,$_请求[“jtStartIndex”]=number,$_请求[“jtPageSize”]=number,它会工作。
但如果我不更改它,它将显示“与服务器通信时出错”
以下是jquery.jtable.min.js中的代码,其中有关于jtSorting、jtStartIndex、jtPageSize的行
/* Adds jtSorting parameter to a URL as query string.
*************************************************************************/
_addSortingInfoToUrl: function (url) {
if (!this.options.sorting || this._lastSorting.length == 0) {
return url;
}
var sorting = [];
$.each(this._lastSorting, function (idx, value) {
sorting.push(value.fieldName + ' ' + value.sortOrder);
});
return (url + (url.indexOf('?') < 0 ? '?' : '&') + 'jtSorting=' + sorting.join(","));
},
/* Overrides _createJtParamsForLoading method to add sorging parameters to jtParams object.
*************************************************************************/
_createJtParamsForLoading: function () {
var jtParams = base._createJtParamsForLoading.apply(this, arguments);
if (this.options.sorting && this._lastSorting.length) {
var sorting = [];
$.each(this._lastSorting, function (idx, value) {
sorting.push(value.fieldName + ' ' + value.sortOrder);
});
jtParams.jtSorting = sorting.join(",");
}
return jtParams;
}
});
})(jQuery);
/*将jtSorting参数作为查询字符串添加到URL。
*************************************************************************/
_addSortingInfoToUrl:函数(url){
如果(!this.options.sorting | | this._lastSorting.length==0){
返回url;
}
var排序=[];
$.each(此.\u最后排序,函数(idx,值){
排序.push(value.fieldName+''+value.sortOrder);
});
返回(url+(url.indexOf(“?”)<0?“?”:“&”)+“+jtSorting=”+sorting.join(“,”);
},
/*重写_createjtparamsforload方法,以将sorging参数添加到jtParams对象。
*************************************************************************/
_createJtParamsForLoading:函数(){
var jtParams=base._createjtparamsforload.apply(这是参数);
if(this.options.sorting&&this.\u lastSorting.length){
var排序=[];
$.each(此.\u最后排序,函数(idx,值){
排序.push(value.fieldName+''+value.sortOrder);
});
jtParams.jtSorting=sorting.join(“,”);
}
返回jtParams;
}
});
})(jQuery);
谁能帮我理解一下吗?我想你应该经历一下。 它需要jQuery.Deferred来返回数据 当作
listAction: function (postData, jtParams) {
return $.Deferred(function ($dfd) {
$.ajax({
url: '/Employee_Controller/EmployeeList_method?jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
type: 'POST',
dataType: 'json',
data: postData,
success: function (data) {
$dfd.resolve(data);
},
error: function () {
$dfd.reject();
}
});
});
}
手动发布它的值。我希望这可能会有所帮助。选项将在$\u GET object中接收 比如: 例如:
$query="select * FROM products ORDER BY $jtSorting LIMIT $jtStartIndex, $jtPageSize;";
在jtable设置中:
paging: true, //Enable paging
pageSize: 10, //Set page size (default: 10)
sorting: true, //Enable sorting
defaultSorting: 'name ASC' ,
actions: {
listAction: 'data/products.php'//Set default sorting
},
...
$query="select * FROM products ORDER BY $jtSorting LIMIT $jtStartIndex, $jtPageSize;";
paging: true, //Enable paging
pageSize: 10, //Set page size (default: 10)
sorting: true, //Enable sorting
defaultSorting: 'name ASC' ,
actions: {
listAction: 'data/products.php'//Set default sorting
},
...