Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用本地数据的jqgrid仅显示一行_Php_Jquery_Jqgrid - Fatal编程技术网

Php 使用本地数据的jqgrid仅显示一行

Php 使用本地数据的jqgrid仅显示一行,php,jquery,jqgrid,Php,Jquery,Jqgrid,我在搜索结果页面上遇到问题。搜索页面有16个输入,结果页面使用动态查询获取结果并将其输入到一个数组中,该数组用于(使用json_encode)用结果填充jqgrid。但是,网格仅显示第一条记录。我添加了一个php“echo” json_encode()…”脚本添加到页面以查看json格式的结果,并显示搜索结果中的所有记录,因此我不知道为什么网格只显示第一行。如果能得到任何帮助,我将不胜感激。以下是网格脚本(我不包括动态查询或数组脚本,因为它们工作正常): $(文档).ready(函数(){ $(

我在搜索结果页面上遇到问题。搜索页面有16个输入,结果页面使用动态查询获取结果并将其输入到一个数组中,该数组用于(使用json_encode)用结果填充jqgrid。但是,网格仅显示第一条记录。我添加了一个php“echo” json_encode()…”脚本添加到页面以查看json格式的结果,并显示搜索结果中的所有记录,因此我不知道为什么网格只显示第一行。如果能得到任何帮助,我将不胜感激。以下是网格脚本(我不包括动态查询或数组脚本,因为它们工作正常):

$(文档).ready(函数(){
$(“#slist”).jqGrid({
数据:“srchres”,
数据类型:“本地”,
mtype:“获取”,
colNames:['ProjectID'、'客户名称'、'发票号'、'车辆信息'、'项目日期'],
colModel:[
{name:'ProjectID',index:'ProjectID',align:'right',hidden:true,editable:false},
{名称:'CustomerName',索引:'CustomerName',可编辑:false,宽度:175,对齐:'center'},
{名称:'InvoiceNumber',索引:'InvoiceNumber',可编辑:false,宽度:175,对齐:'center'},
{名称:'VehicleInfo',索引:'VehicleInfo',宽度:350,对齐:'left',可编辑:false},
{名称:'ProjectDate',索引:'ProjectDate',可编辑:false,宽度:125,对齐:'center',格式化程序:'date',格式化选项:{newformat:'m/d/Y'},
],
jsonReader:{repeatitems:false,id:“ProjectID”},
OnSetRow:函数(rowid){
var rowData=$(this).getRowData(rowid);
document.location.href=“../manageproject.php?pid=“+rowData['ProjectID'”;
},
寻呼机:“斯帕格”,
有一次:是的,
rowNum:20,
行列表:[],
宽度:“自动”,
高度:“自动”,
标题:“,
sortname:“”,
排序器:“,
viewrecords:是的,
gridview:对
});
var srchres=;

对于(var i=0;i请尝试在网格中使用以下设置:

$(document).ready(function () {
    var srchres = <?php echo json_encode($projects_array); ?>;
    $("#slist").jqGrid({
        data: srchres,
        datatype: "local",
        ....
    });
...
$(文档).ready(函数(){
var srchres=;
$(“#slist”).jqGrid({
数据:srchres,
数据类型:“本地”,
....
});
...
}))


注意变量srchres以及如何在网格选项中定义。不需要使用addRowData。

Ok,所以我通过将数据类型从local更改为json来让网格显示所有行。但是现在寻呼机工作不正常。我将rowNum设置为20,但它会显示第一页和第二页上的所有记录年龄数字显示它位于第1页,共0页。这是因为您使用addRowData-此方法不考虑寻呼机,主要用于内部目的。我建议您不要使用addRoeData,而是更改代码,如下所示:请参阅答案谢谢Tony,但当我使用您的建议时,网格根本没有填充。C你能发布一些数据吗?-例如,你能告诉我们$projects\u数组的外观吗
$(document).ready(function () {
    var srchres = <?php echo json_encode($projects_array); ?>;
    $("#slist").jqGrid({
        data: srchres,
        datatype: "local",
        ....
    });
...