重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近很多同学在学习的过程中遇到了乱码问题。这很可能是因为大家疏忽了页面编码的问题。中文版的dreamweaver默认新建页面是gb2312编码格式,而我们用到的是utf-8格式。所以在编码之间产生了冲突。
成都创新互联服务项目包括杭州网站建设、杭州网站制作、杭州网页制作以及杭州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,杭州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到杭州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!PS:第二章:文章管理系统【1】- 创建栏目(2)中提到过编码修改为utf-8。
那如何解决这个问题呢?我们可以先在dw的菜单栏中选择编辑>选择参数进入设置页面,选择新建页面,选择默认编码为utf-8并保存,以后创建的所有页面都会已utf-8格式创建。
创建页面之后可以看到默认代码中有如下代码:
我们只需要把如下代码复制粘贴到已创建的所有界面,保存一次就可以解决旧页面乱码的问题。
修改栏目其实和创建栏目是差不多的。可以区别成创建栏目是提交一个新的数据到数据库,修改栏目是对已有的数据编辑重新提交。
要对已有的数据进行编辑,首先要把已有的数据读出来并在编辑页面中显示出来。
第一步就是要先告诉编辑页面category_edit.php,我们需要读出来的是具体哪一条数据。
那如何告诉编辑页面具体是哪条数据呢?这时候就要用到我们的cat_id字段了,当然通过其他字段也可以实现。只不过cat_id这个字段是绝对不会重复的字段所以用这个字段是最保守的。
首先打开category_list.php页面,我们在上一节中已经准备好了进入修改页面的链接,其href的地址是?act=edit。
我们在链接地址后方加上&cat_id=$r[cat_id],改成?act=edit&cat_id=$r[cat_id]。
我们之前讲到过在链接地址后方加问号“?”,后面可以跟上参数。当我们需要跟上多个参数的时候,在每个参数和参数值之间要用符号“&”来连接,就是键盘数字7上方的and符号。
保存好之后回到页面把鼠标放在修改按钮上方可以在浏览器左下方看到对应的连接地址后面多出来了cat_id=1这样的结果。$r[cat_id]在上一节中已经用到过了就不再重复叙述了。
现在我们打开category_edit.php页面,代码改成如下:
第5、第6行与上一节课程学习到的内容大同小异,唯一的区别是SELECT * FROM 后面多出来了where cat_id=$_GET[cat_id]。
这是我们通过mysql语句查询数据库获得结果集的时候指定条件的方法,where的后面cat_id=$_GET[cat_id]就是我们的查询条件。
$_GET[cat_id]当然就是通过上面的链接?act=edit&cat_id=1格式点进来之后从url地址中获取参数cat_id的值。
我们在这里没有用到while循环,而把$r=mysql_fetch_array($category); 直接写到了外面,这是因为我们在第5行的查询代码中已经指定了条件,所以获取到的代码集里只会有一个结果,我们只需要把这个唯一的结果转换成数组的形式就可以,转换成数组保存到变量$r之后我们就可以通过$r[cat_name]这种格式输出出来了。我们把$r[cat_name]写在了value中,目的是为了让文本框显示一个默认的值,当然你不去显示这个默认值我们也是可以正常修改栏目的。
另外form的action部分变成了act=update&cat_id=$r[cat_id],act=update跟我们之前学过的提交页面中的act=insert是一样的道理,目的是为了提交之后执行对应的数据库指令。后面跟上了cat_id=$r[cat_id]是为了提交之后告诉我们下一个需要执行update的页面我们提交的是哪一条栏目。
我们点击修改按钮进入对应栏目的修改页面可以看到如下结果:
我们所需要修改的栏目名称已经可以正确显示出来了。
下一步就是需要把这个页面修改的内容重新提交到数据库中。打开category.php页面在代码include(‘category_edit.php’);下方增加如下代码:
基本跟创建栏目差不多,区别是mysql_query部分,我们通过“UPDATE 表名 SET 字段名=’更新值’ WEHRE 条件”的方式更新了数据表category中对应cat_id的数据。
修改栏目的功能就这样就做好了。是不是灰常的简单?
下面把删除栏目的功能也一块讲了吧,也灰常简单!
打开category_list.php页面把a href=”?act=del”部分改成如下代码:
href中的?act=del&cat_id=$r[cat_id],我相信不用我再解释大家也能猜到了。
这里多了个onclick=””,onclick是HTML中的鼠标点击事件,但鼠标点击该链接的时候执行引号中的javascript语句。在点击事件中写javascript代码的时候不需要在前后加上script和/script。通过该javascript代码返回一个confirm确认提示,提示是否需要删除对应的栏目。
像执行删除这种不可挽回的操作的时候,我们在交互上需要把一步操作变成两步操作。苹果手机中左滑删除是一样的道理,用先左滑再删除的方式变成了2步操作。
保存好之后点击删除按钮可以看到如下提示:
现在就差在category.php页面里增加act=del的时候需要执行的语句。在上面增加的修改代码部分的下面增加如下代码。
很简单,DELETE FROM 表名 WHERE 条件,就可以在表中删掉条件符合的数据了。
可能大家都听程序猿同学们说过增删改查,到这个阶段我们就算是把最基本的增删改查都学完了,以及条件语句和循环语句。
作业:通过“UPDATE 表名 SET”指令我们可以同时修改多个字段,格式如下:
UPDATE 表名 SET 字段名=”,字段名=”,字段名=” WHERE 条件
请在自己的栏目表里增加如备注 :之类的自定义字段,发布之后尝试同时与名称一起修改试试。