基于PHP和Mysql相结合使用jqGrid读取数据并显示

  1. 准备工作
    在使用PHP和Mysql结合使用jqGrid读取数据并显示前,我们需要安装jqGrid插件和jQuery库。可以在jqGrid官方网站(http://www.trirand.com/)下载插件和库文件。

  2. 获取数据
    为了让jqGrid能够展示数据,我们需要从Mysql数据库中获取数据。使用PHP编写服务器端脚本,在这里我们使用PDO(PHP数据对象)来连接数据库。

示例1:获取全表数据

<?php
//数据库连接信息
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'test';
//连接数据库
try {
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
//获取数据
$sql = "SELECT * FROM student";
$result = $dbh->query($sql);
$data = $result->fetchAll(PDO::FETCH_ASSOC);
//返回Json格式数据
echo json_encode($data);
?>

示例2:获取指定页码的数据

<?php
//数据库连接信息
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'test';
//连接数据库
try {
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
//获取数据
$page = $_REQUEST['page'];
$limit = $_REQUEST['rows'];
$start = $limit * ($page - 1);
$sql = "SELECT * FROM student LIMIT $start, $limit";
$result = $dbh->query($sql);
$data = $result->fetchAll(PDO::FETCH_ASSOC);
//返回Json格式数据
echo json_encode($data);
?>
  1. 显示数据
    使用jqGrid展示数据需要在HTML页面中添加相应的元素,并调用相应的方法。在这里我们将数据显示在一个表格中。

示例1:获取全表数据并显示

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jqGrid实例</title>
    <link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css"/>
    <script src="js/jquery.js"></script>
    <script src="js/jquery.jqGrid.min.js"></script>
</head>
<body>
<table id="studentGrid"></table>
<div id="studentPager"></div>
<script>
$(function () {
    $("#studentGrid").jqGrid({
        url: 'getdata.php',
        mtype: 'GET',
        datatype: 'json',
        colNames: ['学号', '姓名', '年龄', '性别'],
        colModel: [
            {name: 'id', index: 'id', width: 100, align: 'center'},
            {name: 'name', index: 'name', width: 100, align: 'center'},
            {name: 'age', index: 'age', width: 100, align: 'center'},
            {name: 'sex', index: 'sex', width: 100, align: 'center'}
        ],
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: '#studentPager',
        sortname: 'id',
        viewrecords: true,
        sortorder: "asc",
        height: '100%'
    });
});
</script>
</body>
</html>

示例2:获取指定页码数据并显示

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jqGrid实例</title>
    <link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css"/>
    <script src="js/jquery.js"></script>
    <script src="js/jquery.jqGrid.min.js"></script>
</head>
<body>
<table id="studentGrid"></table>
<div id="studentPager"></div>
<script>
$(function () {
    $("#studentGrid").jqGrid({
        url: 'getdata.php',
        mtype: 'GET',
        datatype: 'json',
        colNames: ['学号', '姓名', '年龄', '性别'],
        colModel: [
            {name: 'id', index: 'id', width: 100, align: 'center'},
            {name: 'name', index: 'name', width: 100, align: 'center'},
            {name: 'age', index: 'age', width: 100, align: 'center'},
            {name: 'sex', index: 'sex', width: 100, align: 'center'}
        ],
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: '#studentPager',
        sortname: 'id',
        viewrecords: true,
        sortorder: "asc",
        height: '100%',
        //获取指定页码数据
        postData: {
            page: 2,
            rows: 10
        }
    });
});
</script>
</body>
</html>

上述示例中,我们通过配置jqGrid的相关参数来实现对数据的展示。包括设置url属性和datatype属性,后者可以取值为local、xml、json等,用来区分数据是本地数据还是服务器端数据。同时还可以设置colNames属性和colModel属性,前者用来定义列标题,后者用来定义每列的属性和宽度等信息。rowCount和rowList属性用来定义每页显示的数据条目数和分页列表信息,pager属性用来定义分页控件的id值,height属性用来定义表格的高度。postdata属性用来传递指定的页码和数据条目数,从而实现只显示指定的数据。

总结起来,通过使用PHP和Mysql结合使用jqGrid读取数据并显示,可以方便地实现数据的展示和分页。只需按照以上步骤进行相应的配置即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于PHP和Mysql相结合使用jqGrid读取数据并显示 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 如何用jQuery过滤任何元素的孩子

    在Web开发中,我们经常需要过滤元素的孩子来选择特定的元素。在本攻略中,我们将详细介绍如何使用jQuery来过任何元素的孩子,并提供两个示例来说明它们用途。 过滤元素的孩子 要过滤元素的孩,我们使用jQuery的children()方法来选择元素的直接子元,并使用filter()方法来过滤这些子元素。以下是一个示例: html 这是一个段落。 列表项1 列表…

    jquery 2023年5月9日
    00
  • jQWidgets jqxMenu enableHover属性

    以下是关于 jQWidgets jqxMenu 组件中 enableHover 属性的详细攻略。 jQWidgets jqxMenu enableHover 属性 jQWidgets jqxMenu 组件的 enableHover 属性用于启用或禁用菜单项的鼠标悬停效果。当该设置为 true 时,菜单项将在鼠标悬停时显示悬停效果。当该属性设置为 false …

    jquery 2023年5月12日
    00
  • jQWidgets jqxGrid addgroup()方法

    以下是关于“jQWidgets jqxGrid addgroup()方法”的完整攻略,包含两个示例说明: 简介 jqxGrid 控件的 addgroup() 方法用于向表格中添加分组。分组可以根据列的值对表格中的数据进行分组,以便更好地组织和显示数据。addgroup() 方法的语法如下: $("#grid").jqxGrid(‘addg…

    jquery 2023年5月10日
    00
  • 使用jquery 的ajax调用总是错误亲测的解决方法

    下面是关于“使用jquery的ajax调用总是错误”的攻略,包括以下几个部分: 问题描述:分析错误的出现原因,以及在使用jquery的ajax调用过程中可能会出现的错误类型。 解决方法:介绍解决错误的具体方法,包括相关代码和示例说明。 注意事项:总结一些使用jquery的ajax时需要注意的事项。 问题描述 使用jquery的ajax调用时,可能会遇到以下问…

    jquery 2023年5月28日
    00
  • jQWidgets jqxNavigationBar destroy()方法

    以下是关于 jQWidgets jqxNavigationBar 组件中 destroy() 方法的详细攻略。 jQWidgets jqxNavigationBar destroy() 方法 jQWidgets jqxNavigationBar 的 destroy() 方法用于销毁导航栏组件及其相关资源。 语法 销毁导航栏组件 $(‘#navigationB…

    jquery 2023年5月12日
    00
  • jQWidgets jqxGrid deferreddatafields属性

    以下是关于“jQWidgets jqxGrid deferreddatafields属性”的完整攻略,包含两个示例说明: 简介 jqxGrid 控件的 deferreddatafields 属性用于在数据加载延迟加载某些,以提高性能。 完整攻略 以下是 jqxGrid 控件 deferreddatafields 属性的完攻略: 定义deferreddataf…

    jquery 2023年5月11日
    00
  • jQuery UI spinner culture选项

    jQuery UI spinner culture选项攻略 jQuery UI的spinner culture选项是一个强大的JavaScript库,它提供了许多选项和功能,以便创建自定义的旋转器。其中,culture选项用于设置旋转器的本地化。以下是详细攻略,含两个示例,演示如何使用culture选项: 步骤1:引入库 在使用之前,需要先在中引入jQuer…

    jquery 2023年5月9日
    00
  • C#使用WebSocket实现聊天室功能

    下面是我给您详细讲解“C#使用WebSocket实现聊天室功能”的完整攻略。 什么是WebSocket WebSocket 是一种网络通信协议,能够在单个 TCP 连接上进行全双工通信。它在客户端和服务器之间建立一个套接字连接,使得数据可以双向传输。 实现聊天室功能的方案 要使用WebSocket实现聊天室功能,需要一个WebSocket的服务器来处理客户端…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部