微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP DataGrid 实现代码

由于需要连接Oracle所以从二次开发和页面样式来说个人觉得PHPMyDataGrid还是比较好上手。本篇首先介绍基于MysqL的使用方法,再简单介绍对于Oracle连接(基于sqlrelay)的二次开发。

1. 创建测试数据库和表


<div class="codetitle"><a style="CURSOR: pointer" data="51430" class="copybut" id="copybut51430" onclick="doCopy('code51430')"> 代码如下:
<div class="codebody" id="code51430">
create database guru; USE guru; CREATE TABLE employees (
id int(6) NOT NULL auto_increment,
name char(20) default NULL,
lastname char(20) default NULL,
salary float default NULL,
age int(2) default NULL,
afiliation date default NULL,
status int(1) default NULL,
active tinyint(1) default NULL,
workeddays int(2) default NULL,
photo char(30) default NULL,
PRIMARY KEY (id)
) insert into employees
(id,name,lastname,salary,age,afiliation,status,active,workeddays,photo)
values (1,'Ana','Trujillo',2000,45,'2005-05-13',1,10,'1.jpg');
insert into employees
(id,photo)
values (2,'Jennifer','Aniston',3500,23,'2004-10-22','2.jpg');
insert into employees
(id,photo)
values (3,'Michael','norman',1200,19,'2007-01-10',5,'3.jpg');
insert into employees
(id,photo)
values (4,'Vanessa','Black',6500,31,'2000-11-05',30,'4.jpg');
insert into employees
(id,photo)
values (5,'Strauss',3200,'2006-10-21',2,22,'5.jpg');
insert into employees
(id,photo)
values (6,'William','brown',2300,21,'2001-03-10',3,'6.jpg');
insert into employees
(id,photo)
values (7,'Lucca','normany',2800,36,'2006-10-02',20,'7.jpg');

2. PHP程序介绍

PHPMyDataGrid主要是通过PHPmydatagrid.class.PHP,dgscripts.js来实现的,总共加起来不到100kB,又是一个小巧的软件。对于这两个文件就不多讲了,感兴趣的同学可以“打包带走”回去慢慢品。主要介绍该软件的使用方法,即实例datagridforMysqL.PHP。先看一下页面示意图:
<A href="/upload/20090812012402341.jpg">

2009-8-11-19.22.06


程序讲解:
<div class="codetitle"><a style="CURSOR: pointer" data="43144" class="copybut" id="copybut43144" onclick="doCopy('code43144')"> 代码如下:
<div class="codebody" id="code43144">
<?PHP
include ("PHPmydatagrid.class.PHP");
$objGrid = new datagrid; $objGrid->closeTags(true);
$objGrid->friendlyHTML();
$objGrid->methodForm("get");
//连接数据库
$objGrid->conectadb("127.0.0.1","root","guru");//加密字符串
$objGrid->salt("Myc0defor5tr0ng3r-Pro3EctiOn");
$objGrid->language("en");
//最后一列显示功能键,从左向右功能为“新增键”、“编辑键”、“删除键”、“浏览键”。
$objGrid->buttons(true,true,true);
//修改数值时产生的Form名称
$objGrid->form('employee',true);
//可检索列名
$objGrid->searchby("name,lastname");
//需要读取的表
$objGrid->tabla("employees");
//索引值用于修改数据
$objGrid->keyfield("id");
//分页显示行数
$objGrid->daTarows(20);
//认排序方式
$objGrid->orderby("name","ASC");
//显示列设置,相关设置可参考PHPmydatagrid.class.PHP
$objGrid->FormatColumn("id","ID Employee","50","center","integer");
$objGrid->FormatColumn("name","Name","150","left");
$objGrid->FormatColumn("lastname","Last name","left");
$objGrid->FormatColumn("age","Age","right");//自定义日期格式
$objGrid->FormatColumn("afiliation","Afiliation Date","100","date:dmy:/");//编辑时可以自定义