分享

《微信公众平台入门到精通》Vol.16

 骑火一川 2016-10-10

昨天有几位朋友在后台给我提了些建议,数据库这块貌似讲的太细了,按照这个讲法得写100期了。


我承认我有点傻了,其实大部分人不用了解这个,真要学数据库也不是这样学的,所以我还是加快点步骤吧。


昨天的员工表设计上少了个字段就是头衔,大家可以自己在数据库管理的SQL选项输入框中使用这个语句:

ALTER TABLE `roster` ADD `roster_title` CHAR( 20 ) NOT NULL COMMENT '头衔' AFTER `roster_name`

或者重新下载昨天的数据库代码执行,执行前先删除之前建立的roster数据表。



第十四章    公司通讯录开发


三、公司通讯录后台开发


我设计的公司通讯录是先人工输入到后台,然后前台进行绑定、查询、更新等操作,今天先讲后台录入这块,主要包括部门设置和员工管理两个页面,所有的开发都在sae的代码管理中进行,所以请进入SAE的应用里的代码管理。


在开发前我们先要上传一个文件“base-class.php”,这个文件主要是用来做传递参数的过滤以及格式验证,比如是否邮箱、手机等是否正确输入,文件请回复“微信代码”下载!


3.1、部门设置


第一个要开发的模块是部门设置,一般的公司架构都是多层级的,比如总经理-》部门-》小组,因此我们的部门设置里也要具备多层级的功能。


首先第一个页面部门录入页面,我们新建一个文件,命名为class_add.php,主要实现功能为添加和修改部门名称及上下级分类。代码如下:



后台页面是需要在浏览器里打开操作的,因此需要有HTML代码部分,一般正规开发都会将数据操作、逻辑操作、网页模板分离,我这里图方便就混排了。


这个页面实现的是两个功能:一是新增部门,二是修改部门,两个是放在同一个页面里的,那么如何判断是新增操作还是修改操作呢?根据url里是否有传递过来部门的序号即ID号,如果有就是修改,没有就是新增,具体后面会有解释。


码解释如下:


第1-6行代码是html语言,头部格式都是固定的,其中第4行是告诉浏览器这个网页是utf-8编码的,第5行是网页的名字,会显示在浏览器顶部,当然一般还有两个重要参数,一个是Keyword,就是关键字,还有一个是Description,是网页说明,这两个都是做SEO时用的,这里不需要就没写了。


PS:HTML 语言通常被称为 HTML 标签 (HTML tag),HTML 标签是由尖括号包围的关键词,比如 ,通常是成对出现的,比如 ,标签对中的第一个标签是开始标签,第二个标签是结束标签。


第7行是html页面的主体的开始标签,浏览器会将与之间的内容显示在浏览器页面。


第9行是开始是php的程序处理。


第10行是加载前面让大家上传的base-class.php,后面会调用里面的函数。


第13行是新建一个数据库操作类,由于是在sae环境下开发,所以我直接用了sae提供的mysql类,这样就免去数据库链接什么乱七八糟的了。当然原始提供的函数并不丰富,也不适合代码迁移,一般是需要去封装一层的,我这里先偷个懒吧,同时也方便大家学习。


第16行是获取通过URL传递的参数class_id,即部门的序号。这里有个intval函数是将变量转化成整数,如果class_id值为空则intval(class_id)=0;如果class_id值为1则intval(class_id)=1;如果如果class_id值为abc12则intval(class_id)=0,这里的作用是将转换数据格式同时防止注入。


PS:程序中数据传递主要通过两种方式获取GET和POST,前者是获取URL的参数值,后者是获取表单传递的数据,前者安全性低效率高适合传输一些小数据,后者安全性高效率低适合传输一些大数据。


第19行是获取表单提交的参数action的值,用来判断是否提交了表单。


第20、21行是用来过滤操作变量action的值,由于action是字符串,所以得用字符串过滤规则,其中un_script_code是去除js代码,un_html是去除html代码。


第24行判断class_id是否有值,如果有值即非0则表示修改序号为class_id的部门信息;


第26行根据class_id从数据库中提取详细数据,提取单条记录我们使用sae的mysql类下的getLine函数,我们前面已经新建了一个mysql类命名为$mysql,所以这里就是$mysql->getLine,后面括号里就是一句sql查询语句,意思是

select(选择)

*(所有字段)

from(从)

class(名字为class的表里)

where(符合条件为)

class_id=$class_id(class_id字段的值等于$class_id的数据),获取到的数据是一个数组,赋值给$class_value。


第27行为判断是否获取到class_id=$class_id的记录,!$class_value表示该值为空没有获取到,那么就执行一个警告。


第29行输出一个JS语句,这个语句里

阅读
投诉

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多