在《phpMyDataGrid入门3:如何使用where过滤数据》中我们已经学习了如何使用phpMyDataGrid类中的where方法,来达到取出一张表中的部分数据的效果。到目前为之我们已经可以相对灵活的取出一张表中的全部或部分数据一列表的新式展现出来。
今天我们来介绍phpMyDataGrid的另一个非常实用的功能,单击修改数据,具体代码如下:
//由于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");
//where
$objGrid->where("status=1");
//索引值用于修改数据
$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", "date:dmy:/");
//编辑时可以自定义为
$objGrid->FormatColumn("status", "Status", 5, 5, 0, "60", "left", "select:1_Single:2_Married:3_Divorced");
//编辑时可以自定义为模式
$objGrid->FormatColumn("active", "Active", 2, 2, 0,"50", "center", "check:No:Yes");
//自定义货币显示形式
$objGrid->FormatColumn("salary", "Salary", 10, 10, 0, "90", "right", "money:€");
//将数据以柱状图显示
$objGrid->FormatColumn("workeddays", "Work days", 5, 2, 0, "50", "right", "chart:percent:val:31");
//显示图片
$objGrid -> FormatColumn("photo","Photo", "25", "0","1","100","center","image:./photo/%s");
$objGrid->checkable();
$objGrid->setHeader();
$objGrid->ajax('silent');
?>
//生成DataGrid
$objGrid->grid();
?>
//关闭数据库连接
$objGrid->desconectar();
?>
需要注意的是,红色代码是调用了phpMyDataGrid的ajax方法,只有调用了该方法,才能够启用单击修改数据的功能。
另一个需要强调的是,并不是出现在列表中的每一个字段我们都允许用户来修改(比如id字段,就是不能随意修改的)。我们可以通过FormatColumn方法的第5个参数来控制,0表示可以修改,1表示不能修改,我已经用蓝色和绿色标出了2种状态的代码,同学们可以注意下。
推荐阅读
-
本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ...
[详细]
蜡笔小新 2024-11-24 16:35:09
-
本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ...
[详细]
蜡笔小新 2024-11-24 12:55:24
-
-
本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ...
[详细]
蜡笔小新 2024-11-24 12:50:22
-
当图中包含负权边时,传统的最短路径算法如Dijkstra不再适用,而Bellman-Ford算法虽然能解决问题,但其时间复杂度过高。SPFA算法作为一种改进的Bellman-Ford算法,能够在多数情况下提供更高效的解决方案。本文将详细介绍SPFA算法的原理、实现步骤及其应用场景。 ...
[详细]
蜡笔小新 2024-11-24 12:40:02
-
本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ...
[详细]
蜡笔小新 2024-11-24 12:24:40
-
本文介绍了基于用户行为的数据分析方法,包括业务问题的提出与定义、具体行为的识别及统计分析流程。同时,详细阐述了如何利用事件模型(Event Model)来描述用户行为,以及在实际应用中的案例分析。 ...
[详细]
蜡笔小新 2024-11-24 11:18:50
-
本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ...
[详细]
蜡笔小新 2024-11-24 09:54:53
-
本文列举了构建和运行 Struts2 应用程序所需的核心 JAR 文件,包括文件上传、日志记录、模板引擎等关键组件。 ...
[详细]
蜡笔小新 2024-11-24 04:42:19
-
做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ...
[详细]
蜡笔小新 2024-11-24 03:05:20
-
本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ...
[详细]
蜡笔小新 2024-11-23 16:56:38
-
本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ...
[详细]
蜡笔小新 2024-11-23 15:50:03
-
本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ...
[详细]
蜡笔小新 2024-11-23 15:02:21
-
本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ...
[详细]
蜡笔小新 2024-11-23 13:17:52
-
本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ...
[详细]
蜡笔小新 2024-11-23 13:00:00
-
本文详细解析了LeetCode第102题——二叉树的层次遍历问题,提供了C++语言的实现代码,并对算法的核心思想和具体步骤进行了深入讲解。 ...
[详细]
蜡笔小新 2024-11-23 12:14:28
-