php增删改查类型,PHP开发增删改查

本文记录了一位开发者使用PHP进行增删改查功能开发的过程,包括通过浏览器开发者工具分析请求,理解并重构JavaScript代码,以及在PHP中处理数据。在遇到初始化失败的问题时,通过检查和修复代码解决了问题。整个过程展示了PHP在前端Web应用中的实用性。
摘要由CSDN通过智能技术生成

今天要做一个增删改查,以应对后期二期需求

71d3e37a95ea216c90989b26199136f0.png

今天做开发,今天也是搞PHP第二天了,应该可以上手开发了。

7b0eee1613f9a3bfeda235d4644540f1.png

​通过f12,很快能检索到渠道管理的id,

e6498fe2d9e80b157ec3a5fa6cbedd02.png

​然后新增

969533ffc0cbc52d1b12341f29082560.png

注意一下,这里id别重复了。然后刷新页面,

95ac5e63231f5d2c8ee40d0c50aa16ee.png

​这时候页面应该是没有的,那么我们清空一下浏览器缓存,试一下。ctrl + shift + delete

a16b7cbc663a0c2286e3683b13e07e11.png

我靠,还是没有。然后细心一数我发现了,

51be6f1465b2caf9e8e74e9cd9d0edc6.png

b4aa23dda2ebf5bfb53f6bca45a32a65.png

发现这里有7个菜单,然后我们后台却写了9个,很明显,这里一定是有一个管理平台开启配置的地方了。​那现在问题是,这块儿配置在哪里,卡住了,该怎么开发下去?算了,我们先往下走吧,这么的。

我们直接手动的:

4f5f32328101be4040b8f7330fcb73b1.png

​后面如果找到了权限的js再说吧,

34b3057c8266405fe05c0cb61ce112e3.png

​然后肯定可以调试了。

a45c0d64ba229fbdd981431a099060b8.png

​现在如果我们点击,肯定报错啊,

4e39338699d740e63185ba0bbe845ad3.png

​报错无非就是找不到页面找不到方法之类的,不用理会,往下干。模仿一下,这么写。

f8f93569c04f0559a321ad95c606bfd6.png

​可以大致知道一下这个点击事件是在干嘛,给这个按钮的id设为0,然后将contentid隐藏,并且写空字符串上去,意思做初始化咯。然后有注释可以看,//设置标志,阻止双击,查询执行完毕会设置标志为0//延迟执行显示等待gif,如果查询0.5秒内返回,则不显示等待gif

然后是发送ajax_href_0_4();方法,设置浏览器标题,所以我们还得去模仿一下ajax_href_0_9();当然了,在这里我猜,e.preventDefault();很有可能就是做初始化的。

b91fa2d6f52f5b91aec485ac9421fdc4.png

​至此,我们也看到了post发送ajax请求,那还等什么,直接去看请求的PHP了。

改写了一下这个PHP。

5146531dd85379fecba87ada27eee9ab.png

9884347d28df6108d5ca7df88a9c97d8.png

​该php导入了两个php类,我依次粘贴一下。第一个是config.php,这个是加载smarty的

a529ebcd5dbfbfa9311ac5f47b98db78.png

​第二个是配置的common.php

17db7f5f22a15546dfcf8cd307e4dd0c.png

​引入的两个类就是加载smarty和做参数配置,然后做了从session拿到了登录用户账号,校验是否超时,接着,smary写了标签,然后smarty展示了一个html,我们要去写这个html,就是他了。

c268fe7012114f376cbed06e50e8cc17.png移除点击此处添加图片说明文字

​也模仿一个页面出来。

8acac0fcb34ecb04069faa624e7f8583.png

​不多,也就88行代码,一个比较简单的表单,表单提供基本的增删改查功能,看一部分业务代码。

bf5075e7797506841f10bf9428a0ad5f.png

​这个页面88行html页面,但是我们看到了一些id,所以,得找到他们的js,js在html前面,也就是这里,别忘记了。

663e23496a52165e0d7bd19d571e35eb.png

​老样子,模仿一个下js,创建management_channel_test.js,283行,大部分是做页面的一些简单的操作。发了很多表单的请求,可以解读一下。然后接下来,这个功能其实也就差不多了,我们首先刷新一下页面,来看看,真正的渠道管理,给我们的页面效果。

9553453b8181b9f42bdaab42b56082f8.png

​接下来改写一下这个js吧,读懂后改成自己的,来记录一下请求,这是初始化的init

8aa5650e25d1b867903c3ebd105b6070.png

​再来看一下,如果点击修改或者删除,会触发的事件:

53333484070e49d9aca15aaf716b32d1.png

​可以看到,如果点击删除,首先将增加和修改样式隐藏,然后用选取到、

ch_code_del = $(this).parent().parent().children().eq(0).text();

拿到渠道代码,然后就是删除了,".process_del"的类选择器使得management_channel_test.html页面出现

e5f6fa7e03cf28d7a30cd00c063b985e.png

​另外,id的点击事件也浮出水面,这个点击事件,

3baa6c4f26383feecb02b5e8d61c478a.png

​首先发送post请求,management_channel_get_table.php的id为del,带入参数,

chs_del:chs_del, ch_code_del:ch_code_del

到这里写一下这个delete的php方法吧,

0bee2950813abbd8519b44f7ea84b13d.png

​一个删除操作,对象的删除操作具体入库为:

c3a2c99e6f593793ca0a523c0914bd26.png

得到返回data,如果data为0,说明渠道已经被使用,无法更改,

如果返回data  == 1,说明已经修改,会触发一系列事件,close_dialog();关闭对话框,还有就是draw_ch_body事件,他是做这个的:

7d52d8b940c94a6d38df9aa953f88ece.png

​就是一个展示列表,效果在下面

705a39b991bfca1c00c3c7d76fe9581d.png

​在进入删除js方法的最后一个事件,ajax_href_ch();

这个函数其实也就是做这个事情了,

2cc8f7b5c3289647336460733c2cc106.png

​这个php会跳转回去,做重新加载页面的操作:

ec084c8fccef751c4f1d398f9fcc45b1.png

​好了,结束了,这一套增删改查流程。。。。

那下面说一下坑吧,在我们写management_channel_get_table_test.php时,发现初始胡失败,那么,可能是改了某个请求url的地址,所以回去重新写一份。

/**

* Kaka,17/6/23

*/

/* 设置时区 */

date_default_timezone_get ( 'Asia/Shanghai' );

require_once './../../configs/config.php';

require_once $path_common . '/common.php';

require_once './management_channel_get_data.php';

session_start ();

if (! isset ( $_SESSION [‘login_user_code‘’] )) {

echo '';

exit ();

}

$id = $_REQUEST ['id'];

$result = array ();

$EditRoles = new EditRolesData ( $uri );

$EditRoles->open_db ();

if (id == 'init') {

$EditRoles->init_data ();

$result = $EditRoles->get_result_list_data ();

}

if (id == 'add') {

$ch_code = $_POST ['ch_code'];

$chs_code = $_POST ['chs_code'];

$result = $EditRoles->add_data ( $ch_code, $chs_code, $_SESSION ['login_user_code'] );

}

if (id == 'upd') {

$ch_code = $_POST ['ch_code'];

$chs_code = $_POST ['chs_code'];

$ch_code_b = $_POST ['ch_code_b'];

$chs_code_b = $_POST ['chs_code_b'];

$result = $EditRoles->upd_data ( $ch_code, $chs_code, $ch_code_b, $chs_code_b, $_SESSION ['login_user_code'] );

}

if (id == 'del') {

$ch_code_del = $_POST ['ch_code_del'];

$chs_code_del = $_POST ['chs_code_del'];

$result = $EditRoles->del_data ( $chs_del, $ch_code_del, $_SESSION ['login_user_code'] );

}

echo json_encode ( $result );

?>

可以看到

00d270f1e87f27c4b375a1195f7ece8f.png

​数据无法初始化,别急,可能是init方法错了,看了一下init也没错,然后仔细比对,错误子常量引用:

ea3176ee6c643d72ef0992d375df4b09.png

​然后上面那段代码已经是正确的了,改过来了已经,可以直接用。

bf5591860e730da28686f3eedd3dc2e9.png

​好了,增删改查开发完毕,PHP比较容易上手,开发起来面向对象思想,做前端web应用确实挺快的。

向着架构师的道路继续前进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值