phpMyDataGrid是一个由PHP写的类和js、css组成的控件。它允许应用程序开发人员,以构建和部署用很少的代码行数,以及在较短的时间内完全支持AJAX datagrid与分页、搜索等功能。
当我们下载完phpMyDataGrid文件包是,里面会有好几个目录和文件。我们真正需要用到的是css目录、js目录、images目录和phpmydatagrid.class.php。
phpMyDataGrid的主要功能是快速地将从数据库中读取的数据以列表新式展现,并以少量的代码实现数据排序、ajax数据修改等功能。
在使用phpMyDataGrid之前我们现需要有一个数据库,具体如下:
首先假设有表employees用来存放雇员信息,字段如下:id(员工编号,主键自增)、name(员工first name)、lastname(员工lastname)、salary(薪资)、age(年龄)、afiliation(入职日期)、status(状态)、active(活跃度)、wirjeddays(工作天数)、photo(员工照片)。
现在表A中有7条数据,具体如下:
id=1,name=Ana,lastname=trujillo,salary=2000,age=45,afiliation=2005-05-13,status=1,active=1,wirjeddays=10,photo=1.jpg。
id=2,name=Jennifer,lastname=Aniston,salary=3500,age=23,afiliation=2004-10-22,status=1,active=0,wirjeddays=0,photo=2.jpg。
id=3,name=Michael,lastname=Norman,salary=1200,age=19,afiliation=2007-01-10,status=2,active=2,wirjeddays=5,photo=3.jpg。
id=4,name=Vanessa,lastname=Black,salary=6500,age=31,afiliation=2000-11-05,status=1,active=1,wirjeddays=30,photo=4.jpg。
接下来,我们新建一个test.1.php,来将这四条记录查询出来,组成一个列表,每一页显示2条数据。代码如下:
//由于PHP版本原因,有的会报出DEPRECATED的错
//没有实际影响,屏蔽就行
error_reporting( E_ALL & ~E_NOTICE & ~E_DEPRECATED);
//引入类文件
include ("phpmydatagrid.class.php");
//实例化类
$objGrid = new datagrid;
//连接数据库
$objGrid->conectadb("127.0.0.1", "root", "", "guru");
$objGrid->language("en");
//最后一列显示的功能键,从左向右功能为“新增键”、“编辑键”、“删除键”、“浏览键”。
$objGrid->buttons(true,true,true,true);
//修改数值时产生的Form名称
$objGrid->form('employee', true);
//需要读取的表
$objGrid->tabla("employees");
//索引值用于修改数据
$objGrid->keyfield("id");
//分页显示行数
$objGrid->datarows(1);
//默认排序方式
$objGrid->orderby("name", "ASC");
//显示列设置,相关设置可参考phpmydatagrid.class.php
$objGrid->FormatColumn("id", "ID Employee", 5, 5, 1, "50", "center", "integer");
$objGrid->FormatColumn("name", "Name", 30, 30, 0, "150", "left");
$objGrid->FormatColumn("lastname", "Last name", 30, 30, 0, "150", "left");
$objGrid->FormatColumn("age", "Age", 5, 5, 0, "50", "right");
$objGrid->FormatColumn("afiliation", "Afiliation Date", 10, 10, 0, "100", "center");
$objGrid->FormatColumn("status", "Status", 5, 5, 0, "60", "left");
$objGrid->FormatColumn("active", "Active", 2, 2, 0,"50", "center");
$objGrid->FormatColumn("salary", "Salary", 10, 10, 0, "90", "right");
$objGrid->FormatColumn("workeddays", "Work days", 5, 2, 0, "50", "right");
$objGrid->FormatColumn("photo", "photo", 5, 2, 0, "50", "right");
$objGrid->checkable();
$objGrid->setHeader();
echo '
';
//生成DataGrid
$objGrid->grid();
echo '
';
//关闭数据库连接
$objGrid->desconectar();
?>
运行的结果如下: