PHP开发增删改查

来源:转载

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




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

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

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

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

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

​然后新增

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

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

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

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

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

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

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

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


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

我们直接手动的:

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

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

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

​然后肯定可以调试了。

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

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

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

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

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

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

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

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

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

改写了一下这个PHP。

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

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

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

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

​第二个是配置的common.php

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

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

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

​也模仿一个页面出来。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

chs_del:chs_del, ch_code_del:ch_code_del

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

<?php


/**

 * 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 '<script>';

echo 'location.href="../../code/frame/login.php"';

echo '</script>';

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 );

?>

可以看到

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

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

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

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

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

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

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


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

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

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

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

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

​然后新增

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

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

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

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

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

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

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

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


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

我们直接手动的:

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

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

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

​然后肯定可以调试了。

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

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

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

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

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

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

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

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

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

改写了一下这个PHP。

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

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

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

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

​第二个是配置的common.php

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

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

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

​也模仿一个页面出来。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

chs_del:chs_del, ch_code_del:ch_code_del

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

<?php


/**

 * 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 '<script>';

echo 'location.href="../../code/frame/login.php"';

echo '</script>';

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 );

?>

可以看到

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

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

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

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

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

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

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

分享给朋友:
您可能感兴趣的文章:
随机阅读:
栏目列表
推荐内容