淘先锋技术网

首页 1 2 3 4 5 6 7
PHP jGrid是一款开源的jQuery插件,它提供了一个灵活的网格(grid)系统,可以帮助你在网站中构建数据列表或表格。使用jGrid,你可以拥有更快的网络连接速度和更加美观的页面,同时也可以更加方便地管理数据。 一、基本的使用方法 jGrid能够与PHP一起使用,你可以使用PHP来处理数据,并把数据渲染到jGrid中。在页面上创建网格的基本方法非常简单。我们来看下面的例子,这个例子中,我将展示如何向页面上添加一个带有4列的数据列表。
<script type="text/javascript">
$(document).ready(function(){
$("#data_table").jqGrid({
url:'grid_data.php',
datatype: "json",
colNames:['Customer Id','First Name','Last Name', 'Email'],
colModel:[
{name:'id',index:'id', width:55},
{name:'firstName',index:'firstName', width:90},
{name:'lastName',index:'lastName', width:90},
{name:'email',index:'email', width:150}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Customer Details"
});
});
</script>
<table id="data_table"></table>
<div id="pager"></div>
在上面的代码中,我们使用了一个HTML表格来创建jGrid。HTML表格中的数据是动态获取的,来自于一个名为grid_data.php的PHP文件。行数设置为10,同时还定义了mpager的位置。除此之外,我们还定义了一些其他的选项,比如排序方式等。此时我们已经完成了jGrid的基本定义,下面我们就需要开始处理数据。 二、从PHP中获取数据 jGrid需要一个网格后端程序来提供数据。我们可以使用PHP来创建这个程序。下面是一个非常简单的PHP程序,用于查询数据库并返回数据给jGrid。
<?php
$page = $_GET['page']; // 获取jGrid发送的当前页码
$limit = $_GET['rows']; // 每页显示数据的行数
$sidx = $_GET['sidx']; //调用getData函数并返回数据
$start = $limit*$page - $limit; // 从数据库中读取数据的起始行数
$conn = mysql_connect('localhost','root','') or die('could not connect:'.mysql_error());
$db = mysql_select_db('mydb',$conn) or die('could not select db:'.mysql_error());
$query = "SELECT COUNT(*) AS count FROM customers";
$result = mysql_query($query);
$row = mysql_fetch_array($result,MYSQL_ASSOC); //从表customers中读取数据的总数
$count = $row['count'];
if( $count >0 ) {
$total_pages = ceil($count/$limit); // 总页数
} else {
$total_pages = 0;
}
if ($page >$total_pages) $page=$total_pages;
$start = $limit * $page - $limit; // 从数据库中读取数据的起始行数
$query = "SELECT id, firstName, lastName, email FROM customers ORDER BY $sidx DESC LIMIT $start , $limit";
$result = mysql_query($query) or die(SQL_ERROR);
$responce = new StdClass;
$responce->page = $page;
$responce->total = $total_pages;
$responce->records = $count;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
$responce->rows[$i]['id']=$row['id'];
$responce->rows[$i]['cell']=array($row['id'],$row['firstName'],$row['lastName'],$row['email']);
$i++;
} 
echo json_encode($responce); // 把数据渲染到jGrid上
?>
上面的这段php代码用于从数据库中读取数据,并将查询结果渲染到jgrid上。在这个例子中,我们使用了一张名为customers的表来存储数据。我们首先查询表中记录的总数,然后计算出总页数。之后,我们就可以使用常规的MySQL查询语句来获取数据。最后,我们编写了一个JSON格式的响应,将数据返回给jGrid,同时也用PHP处理了一些其他的逻辑。 总结 通过使用jGrid,我们可以快速地创建出非常美观和易用的数据列表。上面的例子中,我讲述了jGrid的基本使用方法以及如何从PHP中动态获取数据。当然,jGrid还有很多其他的功能和用法,您可以通过jGrid的官方文档来进一步了解jGrid的使用方法。我希望这篇文章对您在日常开发中使用jGrid有所帮助。