`
rikugun
  • 浏览: 349760 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

补充一个jqgrid的demo php后台

    博客分类:
  • PHP
阅读更多
之前写了一个,感觉后台代码不是很好理解,再发一个吧
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();
?>
分享到:
评论
3 楼 rikugun 2010-02-28  
partoo 写道
你好伙计~有个问题请教一下:
我是用老ASP做的,唯独不能实现eidt/del的操作,原因是因为Sql语句中的where id =XX,这个id总是前台表格的列数,而非数据库中的ID,怎样解决呢?
谢谢~

引用

id: 所选行的id 相当于服务端传过来的数据中cells这部分的id 如果是空的话就是 _empty

$cells[]=array('id'=>$id,'cell'=>array($id,$params['date'][$i],$params['summany'][$i],htmlspecialchars(mb_convert_encoding($d->getContent($id),'UTF-8','GBK'))));



2 楼 partoo 2010-02-28  
你好伙计~有个问题请教一下:
我是用老ASP做的,唯独不能实现eidt/del的操作,原因是因为Sql语句中的where id =XX,这个id总是前台表格的列数,而非数据库中的ID,怎样解决呢?
谢谢~
1 楼 changker 2009-03-06  


8C8C.
还是自己写的好。
我就自己写了 个 grid。叫ongrid。o(∩_∩)o...哈哈

相关推荐

    jqGrid demo (完整版)

    这个"jqGrid demo (完整版)"提供了一个全面的示例,可以帮助开发者更好地理解和应用 jqGrid,无论是在 PHP 或 JSP 环境中。 1. **jqGrid 简介** jqGrid 提供了丰富的功能,包括分页、排序、搜索、编辑、添加、...

    Jqgrid demo-史上最强大,没有之一

    Jqgrid demo-史上最强大,没有之一, 为了大家能够更好的学习和使用Jqgrid网格插件,我决定用Strtus2+Spring+hibernate+Jquery+Jqgrid实现一个Jqgrid网格插件的demo。当然官方网站上面已经有了PHP版本和ASP.NET版本...

    jqueryGridDemo jqGriddemo38

    总结来说,“jqueryGridDemo jqGriddemo38”这个项目是一个全面的jqGrid实践教程,涵盖了从基础配置到高级功能的方方面面,包括本地数据和远程数据的加载、数据的处理和展示、以及用户交互的实现。通过学习这些示例...

    jqgrid demo

    在"jqgrid demo"中,我们可以期待看到一个实际的应用实例,展示如何利用jqGrid的各种特性来构建高效的数据操作界面。 首先,jqGrid的分页功能是其核心特性之一,允许用户以页面的形式浏览大量的数据,而不是一次性...

    第一个jqGrid例子

    在压缩包中的"jquery jqGrid Demo"文件,你可能找到一个完整的示例项目,包括HTML文件、CSS样式和JavaScript脚本。通过查看和运行这个示例,你可以更直观地了解jqGrid的用法,并学习如何将这些功能整合到自己的项目...

    jqgriddemo,样式漂亮,可以直接使用

    正如标题“jqgriddemo”所示,这个示例提供了美观的样式,可以直接应用于项目中。 2. **操作功能**:用户可以方便地对表格数据进行排序、搜索、分页,同时支持单行或多行选择。此外,jqGrid还支持行内编辑,允许...

    jqGridDemo

    **jqGridDemo** jqGrid是一款基于JavaScript的开源网格控件,用于在Web应用程序中展示和操作数据。这个"jqGridDemo"是根据官方网站提供的示例进行调试和优化后的版本,目的是为了便于个人学习和日后查阅。jqGrid以...

    JQgrid demo

    JQgrid的jsp demo,集成mysql Hibernate 测试demo,下载即用

    JqGrid插件+JqGridDemo+JqGrid主题

    总的来说,JqGrid是一个强大且灵活的表格插件,能够满足各种数据展示和管理需求。通过深入学习和实践"JqGrid插件+JqGridDemo+JqGrid主题",开发者可以提升其在前端开发中的数据处理能力,创建出更富交互性的网页应用...

    JqGrid Demo json

    **JqGrid Demo json** 是一个基于Web的前端数据展示示例,它使用了JqGrid库和JSON数据格式来实现动态、交互式的表格。JqGrid是一个强大的jQuery插件,用于创建高度可定制和功能丰富的网格视图,广泛应用于数据管理和...

    jQgrid demo

    jQGrid 是一个基于 jQuery 的开源数据网格插件,它提供了强大的数据管理功能,包括数据的分页、排序、过滤、编辑等。在本"jQgrid demo"中,我们将深入探讨如何利用 jQGrid 实现交互式的数据展示和操作。 jQGrid 的...

    jQgrid+demo

    以上两处修改 都是针对jqGrid的Demo下载包中文件版本错误 我用java backend替换原有的php backend 已经可以正常运行了 "&gt;直接从官方网站上下载得到的demo压缩包 按照其readme介绍的办法 解压到web容器上并且尝试打开...

    jqgriddemo.zip

    总的来说,"jqgriddemo.zip" 提供了一个全面的 jqGrid 学习平台,通过实际操作,开发者能够快速掌握 jqGrid 的核心功能,提升网页应用中数据管理的效率和用户体验。对于需要处理大量数据展示和交互的项目,jqGrid 是...

    jqgridDemo

    例如,HTML文件可能会引入jqGrid的库文件,并在页面中创建一个div元素作为jqGrid的容器。JavaScript文件则会初始化jqGrid,指定数据源、列定义、分页设置等。你可以通过修改这些配置,来实现你自己的数据网格需求。 ...

    jqGrid5.X 官方全Demo下载

    jqGrid 是一个强大的 jQuery 插件,用于在网页上创建、操作和展示数据表格。它提供了丰富的功能,如数据分页、排序、过滤、编辑和更多。本资源为 jqGrid5.X 的官方全Demo下载,包含中文文档和离线演示,用户可以在...

    jqGriddemo38 最新版本下载

    这个"jqGriddemo38 最新版本下载"很可能指的是 jqGrid 的一个更新版本,提供了一些新的功能或者改进了旧有的性能。下面将详细讨论 jqGrid 的核心功能和与之相关的 jQuery 技术。 jqGrid 允许开发者创建高度可定制的...

    jqgriddemo5.2.0

    jqGrid5.2.0是该组件的一个重要版本,它引入了更多特性,提升了性能和用户体验。 **jQuery 3.1.1集成** jQuery是JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。jQuery 3.1.1是jQuery的一个...

    jqGrid demo

    "jqGrid demo"为你提供了一个实践和学习 jqGrid 的起点,通过探索和理解这些示例,你将能够熟练地应用 jqGrid 到实际项目中,创建出功能丰富、用户体验良好的数据展示页面。在实践中,不断调整参数和配置,你会发现 ...

Global site tag (gtag.js) - Google Analytics