[英]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.