簡體   English   中英

jqGrid-PHP / mySQL(遺漏了什么?)

[英]jqGrid - PHP/mySQL (Missed something?)

PHP代碼:

$Re = $ZD -> query($PullSearchInfoSQL);
$Rn = $ZD -> found_rows;
if($Rn > 0 && $limit > 0){$Rn = ceil($Rn/$limit);}else{$Rn = 0;}
if($page > $Rn) $page = $Rn;
$start = $limit * $page - $limit;
$Re = $ZD -> query($PullSearchInfoSQL.' LIMIT '.$start.','.$limit);
while($Ro = $ZD -> fetch_assoc($Re)){
    $PullSearchInfoData[] = array('X' => Coords($Ro['SCFieldID']),'P' => $Ro['SCPlayer'],'C' => $Ro['SCCastle'],'F' => $Ro['SCFlag'],'A' => $Ro['SCAlliance'],'S' => PlayerStatus($Ro['SCStatus']),'D' => $Ro['SCSnapA']);
}
$PullSearchInfoData = array('page' => $page,'num' => $Rn,'cell' => $PullSearchInfoData);
echo json_encode($PullSearchInfoData);

jqGrid:

$('#PlayerInformation').jqGrid({
                    url: DateFile+'Data.php?Load=PullSearchInfo&MOpt='+MOpt+'&Data='+$('#SearchThis').val()+'&Parm='+$('#SearchOption').val().split('^')[0]+'&Opts='+$('#SearchOption').val().split('^')[1],
                    datatype:'json',
                    colModel:[
                        {label:'X , Y',name:'X',width:44,align:'left',sortable:false},
                        {label:'Player',name:'P',width:68,align:'left',sortable:false},
                        {label:'Castle',name:'C',width:68,align:'left',sortable:false},
                        {label:'Flag',name:'F',width:28,align:'left',sortable:false},
                        {label:'Alliance',name:'A',width:68,align:'left',sortable:false},
                        {label:'S',name:'S',width:10,align:'center',sortable:false},
                        {label:'Date',name:'D',width:77,align:'center',sortable:false}
                    ],
                    rowNum:1000, altRows:true, height:507, pager:'#PlayerInfoPager',
                    loadComplete: function(){
                            $('#AllPlaTitle').empty().html('History for [ '+$('#SearchThis').val()+ ' ] '+$(this).jqGrid('getGridParam','reccount')+' Listed');
                            $('#PlayerInformation').highlight($('#SearchThis').val(),true);
                            $('#SearchGo,#SearchHist').show();
                            $('#SearchOption,#SearchThis').removeAttr('disabled');
                    }
                });

數據庫查詢結果:

{"page":"1","num":1,"cell":[{"X":"104,135","P":"Gaia of Vansterdam","C":"Hamster","F":"XXX","A":null,"S":"P","D":"01\/07\/15 13:08"},{"X":"102,115","P":"Gaia of Vansterdam","C":"Vansterdam","F":"XXX","A":null,"S":"P","D":"01\/07\/15 13:08"},{"X":"301,3","P":"VonVander","C":"VV1","F":"Von","A":"g144","S":"P","D":"01\/07\/15 13:08"}]}

在將頁面/數字添加到JSON之前,一切工作正常。 直到我在jqGRID站點上添加頁面/編號並按照說明進行操作,我才能終生弄清楚為什么數據未顯示在網格上。 我的JSON輸出錯誤嗎? 我的PHP布局不正確嗎?

謝謝您的幫助! 肖恩

我發現了自己的缺點,並根據Barmar的建議(請參閱上面的帖子),所有內容都是正確的,僅在下面進行了修復:

修復了mySQL:

    $count = $ZD -> found_rows;
    if($count > 0 && $limit > 0){$total_pages = ceil($count/$limit);}else{$total_pages = 0;}
    if($page > $total_pages) $page = $total_pages;
    $start = $limit * $page - $limit;
    if($start < 0) $start = 0;

和數組方法:

$PullSearchInfoData = array('total' => (int)$total_pages,'page' => (int)$page,'records' => (int)$count,'rows' => $PullSearchInfoData);

得到了我一直在尋找的結果,並將所有數據正確地放入jqGRID :)感謝您對Barmar的幫助! 肖恩

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM