昨天有几位朋友在后台给我提了些建议,数据库这块貌似讲的太细了,按照这个讲法得写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语句,这个语句里 |
|
来自: 骑火一川 > 《微信公众平台从入门到精通》