《实例-商品信息管理系统.doc》由会员分享,可在线阅读,更多相关《实例-商品信息管理系统.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流实例-商品信息管理系统.精品文档.实例商品信息管理系统一、实现目标:利用php实现商品信息的增、删、改、查操作重点难点:图片信息的操作(图片的上传和读取)二、知识点:文件(图片)的上传数据库的基本操作(增删改查)三、网页效果:四、实现步骤:1. 设计并创建数据库db_shop与表格tb_goods利用phpmyadmin创建相应的sql语句:CREATE TABLE IF NOT EXISTS tb_goods ( id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 编号, name var
2、char(64) NOT NULL COMMENT 商品名称, typeid int(10) unsigned NOT NULL COMMENT 类型, price double(6,2) unsigned NOT NULL COMMENT 价格, total int(10) unsigned NOT NULL COMMENT 库存, pic varchar(32) NOT NULL COMMENT 图片, note text COMMENT 描述, addtime int(10) unsigned NOT NULL COMMENT 发布时间, PRIMARY KEY (id) ENGINE=
3、MyISAM DEFAULT CHARSET=gb2312 COMMENT=商品信息表 AUTO_INCREMENT=1 ;2. 项目的目录文件结构3. 创建公共配置文件dbconfig.php。以及图片上传目录uploads文件夹。服装,2=数码,3=食品);/设置标准时间date_default_timezone_set(Etc/GMT-8);/链接数据库$link=mysql_connect(HOST,USER,PASS) or die(数据库服务器连接错误.mysql_error();mysql_select_db(DBNAME,$link) or die(数据库访问错误.mysql_
4、error();mysql_query(set names gb2312);?4. 创建导航栏menu.php。body,td,th font-size: 12px;color: #33F;商品信息管理系统| 浏览商品 | 添加商品 5. 商品发布页面(表单)add.php。新建表单,提交到action.php处理。可以在凡是用到导航栏的页面,通过include或者require函数导入包含的文件。表单的设置,由于要上传图片,因此设置编码类型。(参考手册,注意POST文件上传的方法)可通过7行2列表格进行定位,再插入相应的表单元素。其中,类型为“选择菜单”,图片为文件域,描述是文本区域。并为每
5、个表单元素作好命名,名字可与数据表一致。商品类型的名字和值的设置,可利用数组的键值对形式输出,代码如下, $v)echo $v;? 注:可以通过js代码防止用户提交空值。6. 创建action.php,用于执行商品信息的增删改操作。Action页面具有数据库的添加、删除、修改的功能。通过url传递一个参数,来进行相应的增删改查操作。具体步骤:l 导入相关文件,数据库链接;require(functions.php);require(dbconfig.php);l 获取action参数的值,并做相应的操作;switch($_GETaction)case add: /添加break;case de
6、l: /删除break;case update: /修改break;l 关闭数据库;mysql_close($link);7. 添加商品信息的步骤:l 获取表单信息;$name = $_POSTname;$typeid = $_POSTtypeid; $total = $_POSTtotal;$price = $_POSTprice;$note = $_POSTnote;$addtime = time();l 验证信息的合法性;if(empty($name)die(添加失败!请输入商品名称);同理,可以增加其他参数的判断。l 执行图片上传;/产生随机名字$fileinfo=pathinfo($
7、_FILESpicname);do$newfile=date(YmdHis).rand(1000,9999).$fileinfoextension;while(file_exists($newfile);/设置上传目录$path = ./uploads/;move_uploaded_file($_FILESpictmp_name,$path./.$newfile);/echo $path.$newfile;l 利用sql语句把网页数据添加到数据库;$sql = INSERT INTO db_shop.tb_goods ( name, typeid, price, total, pic, not
8、e, addtime) VALUES ($name,$typeid,$price,$total,$newfile,$note,$addtime); mysql_query($sql,$link);l 判断是否成功并返回结果;if(mysql_insert_id($link)0)echo 商品发布成功!;elseecho 商品发布失败!.mysql_error();echo 查看商品信息;8. 商品浏览网页index.php。创建一个7列2行的表格,输入相应的内容。9. 在要输出循环的行前后分别添加代码:?php /执行商品查询$sql=mysql_query(SELECT * FROM tb_
9、goods);$row=mysql_fetch_object($sql);if(!$row)echo 暂无记录!;do?第二行的代码: name;? ?php echo pic. width=100 height=80 /? price;? total;? typeid;? addtime);? 删除 修改 第二行后添加代码:10. 增加删除功能。在index页面,给删除添加链接,链接到action页面处理。需要利用url传递三个参数。分别是action的动作标识del,记录的编号id,图片的名称pic。a href=action.php?action=del&id=id;?&picname=
10、pic;?删除在action页面添加删除的操作,代码:case del: /删除/执行删除记录的sql语句$sql=mysql_query(delete from tb_goods where id=$_GETid);if(mysql_affected_rows($link)0)unlink(./uploads/.$_GETpicname);header(Location:index.php);break;unlink 删除文件防止报错,可以在前面加“”,如unlink();11. 增加修改功能。在index页面,给修改添加链接,链接到edit.php页面处理,使用url传递id参数即可。a
11、href=edit.php?id=id;?修改直接拿add.php页面另存为edit.php页面,把页面相关的文字改为修改。添加代码:0)$row=mysql_fetch_object($sql);elsedie(没有商品信息。);?在名称表单的值处输入:name;?类型选择的表单代码: $v)$sd = ($row-typeid =$k)?selected:;/是否当前类型echo $v;? 12. 添加显示对应的图片。先把要修改的图片读取到网页中。在edit.php页面表单中,添加一行,用于显示修改的图片。代码: img src=pic; ? width=100 height
12、=80 / 13. 在edit.php页面表单提交到action处理,通过url传递参数,带处理标识为update。除此之外,还应该在edit.php页面表单中,添加隐藏域,传递当前记录的id号和原图片的名称。input name=id type=hidden id=id value=id;? /input name=oldpic type=hidden id=oldpic value=pic;? / 通过查看edit.php输出源文件观看效果。14. 修改action页面的update操作。编写的思路:l 获取表单中要修改的信息;l 验证信息的合法性;l 先判断是否有新突破,再执行新图片上传
13、;l 利用sql语句修改数据库的记录;l 判断是否成功并返回结果;代码如下:case update: /修改/1. 获取表单中要修改的信息;$name = $_POSTname;$typeid = $_POSTtypeid;$total = $_POSTtotal;$price = $_POSTprice;$note = $_POSTnote;$id = $_POSTid;$oldpic = $_POSToldpic;$newfile= $oldpic;/2. 验证信息的合法性;if(empty($name)die(商品信息为空);/3. 先判断是否有新突破,再执行新图片上传;/产生随机名字i
14、f(!empty($_FILESpicname)unlink(./uploads/.$oldpic);$fileinfo=pathinfo($_FILESpicname);do$newfile=date(YmdHis).rand(1000,9999).$fileinfoextension;while(file_exists($newfile);/设置上传目录$path = ./uploads/;move_uploaded_file($_FILESpictmp_name,$path./.$newfile);/4. 利用sql语句修改数据库的记录;$sql = UPDATE tb_goods SE
15、T name = $name,typeid = $typeid, price = $price, total = $total,pic = $newfile,note = $note WHERE id =$id ; /echo $sql;mysql_query($sql,$link);/5. 判断是否成功并返回结果;if(mysql_affected_rows($link)0) echo 商品修改成功!;elseecho 商品修改不成功!.mysql_error();echo 查看商品信息;break;15. 修改index页面。当没有记录时,显示将第二行的代码修改如下:?php /执行商品查询$sql=mysql_query(SELECT * FROM tb_goods order by addtime desc);while($row=mysql_fetch_assoc($sql)echo ;echo $rowname;echo ;echo $rowprice;echo $rowtotal;echo $rowtypeid;echo .date(Y-m-d H:i:s,$rowaddtime).;echo 删除 修改;echo ;mysql_free_result($sql);mysql_close($link);?完
限制150内