补充一个jqgrid的demo php后台

[url=http://rikugun.iteye.com/blog/253149]之前写了一个[/url],感觉后台代码不是很好理解,再发一个吧
09-03-12:
jqgrid 官网可能被墙了 ,其实里头是有个文档的.我把它传上来方便不翻墙的群众吧


再介绍一下jqgrid发到后台的一些参数
id: 所选行的id 相当于服务端传过来的数据中cells这部分的id 如果是空的话就是 _empty
oper: 操作, 添加:add 编辑:edit 删除:del ,搜索:search
sidx: 排列字段
sord: 升降序 (desc|asc)

其它的参数其实可以用firebug自己截取看.
最后有个完整的例子下载


$("#list").jqGrid({
width:800,
height:300,
url:"controller/proxy.php?oper=list&username=<?php echo $_POST['username']?>&psw=<?php echo $_POST['psw']?>",
editurl:"controller/proxy.php?username=<?php echo $_POST['username']?>&psw=<?php echo $_POST['psw']?>",
mtype:'POST',
datatype:'json',
colNames:["ID","日期","摘要","内容"],
colModel:[
{
name:'DIA_ID',
index:'DIA_ID',
sortable:false,
width:20,
hidden:true,
// editable:true,
editrules:{
edithidden:true
}
},
{
name:'DIA_DATE',
index:'DIA_DATE',
width:50,
sortable:false,
editable:true,
edittype:'text',
editoptions:{size:10},
editrules:{
edithidden:true,
required:true
}
},
{
name:'DIA_SUMMANY',
index:'DIA_SUMMANY',
sortable:false,
width:150
},
{
name:'DIA_CONTENT',
index:'DIA_CONTENT',
hidden:true,
editable:true,
edittype:'textarea',
editoptions:{rows:10,cols:80},
editrules:{
edithidden:true,
required:true
}
}
],
pager:"pager",
rowNum:10,
rowList:[10,20,30],
sortname:'date',
sortorder:'desc',
viewrecords:true,
imgpath:'lib/js/jqGrid/themes/basic/images',
caption:'日志列表',
subGrid:true,

subGridUrl:'controller/proxy.php?oper=get',
subGridModel:[{
name:['内容'],
width:[600]
}]
}) ;
$('#list').navGrid('#pager',{
// add:false,
search:false
});
});
</script>


controller/proxy.php

<?php

include_once('../class/Diarly.php');
//开始日期
$begin_date = date('Y-m-d',time()-7*24*60*60);
//今天
$end_date = date('Y-m-d',time()+7*24*60*60);

//日志类
$d = new Diarly($_REQUEST['username'],$_REQUEST['psw']);
$d->init($begin_date, $end_date);
if (!$d->login()) {
echo "{success:false,error:true,message:'登录失败'}";
$d->close();
exit(1);
}

//处理动作
switch ($_REQUEST['oper']) {
case 'add':
add($_REQUEST);
break;
case 'get':
get($_REQUEST['id']);
break;
case 'list':
showList();
break;
case 'del':
delete();
break;
case 'edit':
update($_POST);
break;
default:
break;
}
function add($data) {
global $d;
$result = $d->add($data);
echo "{success:true,message:'$result'}";
}
function get($id) {
global $d;
$outputs = array();
$result = $d->getContent($id);
$result = htmlspecialchars(mb_convert_encoding($result,'UTF-8','GBK'));
$row['cell'] = array($result);
$outputs['rows']=array($row);
echo json_encode($outputs);
}

function showList(){
global $d;
$outputs = array();
$cells = array();
$params = $d->getParams();
$outputs['total']= round(count($params['summany'])/$_POST['rows']);
$outputs['page'] = $_POST['page'];
$outputs['records'] =count($params['summany']);
foreach ($params['id'] as $i => $id) {
$cells[]=array('id'=>$id,'cell'=>array($id,$params['date'][$i],$params['summany'][$i],htmlspecialchars(mb_convert_encoding($d->getContent($id),'UTF-8','GBK'))));
if ($i>$_POST['rows']) {
break;
}
}
$outputs['rows'] = $cells;
echo json_encode($outputs);
}

function delete(){
global $d;
$result = $d->delete($_POST['id']);
echo "{success:true,message:'$result'}";
}

function update($data) {
global $d;
$result = $d->save($data);
echo "{success:true,message:'$result'}";
}

$d->close();
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值