php基础示例:商品信息管理系统v1.1,信息管理系统v1.1实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能
一、创建数据库和表
1.创建数据库和表:demodb
2.创建表格:goods
字段:商品编号,商品名称,商品类型,商品图片,单价,商品描述,库存量,添加时间
二、创建php文件编写代码(以下为要创建的php文件及其用途)
add.php商品添加页面
edit.php 商品信息编辑表单页
index.php商品信息浏览页
action.php执行商品信息添加和修改及删除等操作处理
dbconfig.php 公共配置文件,数据库连接配置信息
menu.php网站公共导航栏
uploads/ 上传图片的存放目录
function.php 公共函数库文件:图片信息的上传,等比缩放等处理函数
addcart.php 添加购物车信息的操作(向session放入要购买的信息)
mycart.php 实现了购物车信息的浏览操作,并且实现商品信息的统计(小计和总价)
clearcart.php 实现了购物车信息的单个商品删除或清空购物车操作
updatecart.php 修改购物车中商品的数量,防止过小约束
各php文件关系图示:
好,那下面是代码部分:
首先是建表语句:
1 create database newsdb;//创建库语句 2 3 create table goods ( 4 id int(10) unsigned not null auto_increment, 5 name varchar(64) not null, 6 typeid int(10) unsigned not null, 7 price double(6,2) unsigned not null, 8 total int(10) unsigned not null, 9 pic varchar(32) not null,10 note text,11 addtime int(10) unsigned not null,12 primary key (`id`)13 ) //创建表语句建表语句以下为各php文件代码,需要的朋友可直接将各代码复制并放到同一目录下即可,还要在同目录下创建uplaods文件夹存放上传图片
1 2 3 商品信息管理 4 5 6 7 8 发布商品信息 9 10 11 12 名称: 13 14
15 16 类型: 17 18 19 php 20 include(dbconfig.php);21 foreach($typelist as $k=>$v)22 {23 echo {$v};24 }25 ?>26 27 28
29 30 单价: 31 32
33 34 库存: 35 36
37 38 图片: 39 40
41 42 描述: 43 44
45 46 47 48 49 50
51
52 53 54 55 add.php 1 php 2 //执行商品信息的增、删、改的操作 3 4 //一、导入配置文件和函数库文件 5 require(dbconfig.php); 6 require(function.php); 7 //二、连接mysql,选择数据库 8 $link = mysql_connect(host,user,pass) or die(数据库连接失败); 9 mysql_select_db(dbname,$link); 10 11 12 //三、获取action参数的值,并做对应的操作 13 switch($_get[action]) 14 { 15 case add: //添加 16 //1.获取添加信息 17 $name = $_post[name]; 18 $typeid = $_post[typeid]; 19 $price = $_post[price]; 20 $total = $_post[total]; 21 $note = $_post[note]; 22 $addtime = time(); 23 //2.验证()省略 24 if(empty($name)) 25 { 26 die(商品名称必须有值); 27 } 28 //3.执行图片上传 29 $upinfo = uploadfile(pic,./uploads/); 30 if($upinfo[error]===false) 31 { 32 die(图片信息上传失败:.$upinfo[info]); 33 }else 34 { 35 //上传成功 36 $pic = $upinfo[info];//获取上传成功的图片名 37 38 } 39 //4.执行图片缩放 40 imageupdatesize('./uploads/'.$pic,50,50); 41 //5.拼装sql语句,并执行添加 42 $sql = insert into goods values(null,'{$name}','{$typeid}',{$price},{$total},'{$pic}','{$note}',{$addtime}); 43 mysql_query($sql,$link); 44 //6.判断并输出结果 45 if(mysql_insert_id($link)>0) 46 { 47 echo 商品发布成功; 48 }else 49 { 50 echo 商品发布失败; 51 } 52 echo
查看商品信息; 53 54 break; 55 case del: //删除 56 //获取要删除的id号并拼装删除sql,执行 57 $sql = delete from goods where id={$_get['id']}; 58 59 mysql_query($sql,$link); 60 //执行图片删除 61 if(mysql_affected_rows($link)>0) 62 { 63 @unlink(./uploads/.$_get['picname']); 64 @unlink(./uploads/s_.$_get['picname']); 65 } 66 //跳转到浏览界面 67 header(location:index.php); 68 break; 69 70 case update: //修改 71 //1.获取要修改的信息 72 $name = $_post[name]; 73 $typeid = $_post[typeid]; 74 $price = $_post[price]; 75 $total = $_post[total]; 76 $note = $_post[note]; 77 $id = $_post['id']; 78 $pic = $_post['oldpic']; 79 //2.数据验证 80 if(empty($name)) 81 { 82 die(商品名称必须有值); 83 } 84 //3.判断有无图片上传 85 if($_files['pic']['error']!=4) 86 { 87 //执行上传 88 $upinfo = uploadfile(pic,./uploads/); 89 if($upinfo[error]===false) 90 { 91 die(图片信息上传失败:.$upinfo[info]); 92 }else 93 { 94 //上传成功 95 $pic = $upinfo[info];//获取上传成功的图片名 96 //4.有图片上传执行缩放 97 imageupdatesize('./uploads/'.$pic,50,50); 98 } 99 }100 101 102 //5.执行修改103 $sql = update goods set name='{$name}',typeid={$typeid},price={$price},total={$total},note='{$note}',pic='{$pic}' where id={$id};104 mysql_query($sql,$link);105 //6.判断是否修改成功106 if(mysql_affected_rows($link)>0)107 {108 if($_files['pic']['error']!=4)109 {110 //若有图片上传,就删除老图片111 @unlink(./uploads/.$_post['oldpic']);112 @unlink(./uploads/s_.$_post['oldpic']);113 }114 echo 修改成功;115 }else116 {117 echo 修改失败.mysql_error();118 }119 echo
查看商品信息;120 break;121 default:122 echo 错误;break;123 124 }125 //四、关闭数据库126 mysql_close($link);action.php 1 php 2 //公共信息配置文件 3 4 //数据库信息配置 5 define(host,localhost);//主机名 6 define(user,root); //用户名 7 define(pass,root); //密码 8 define(dbname,demodb); //数据库名 9 10 //商品类型列表信息11 $typelist=array(1=>服装,2=>数码,3=>食品);12 13 14 ?>dbconfig.php 1 2 3 商品信息管理 4 5 6 7 8 浏览商品信息 9 10 11 12 商品编号13 商品名称14 商品图片15 单价16 库存量17 添加时间18 操作19
20 php 21 //从数据库中读取信息并输出到浏览器表格中22 //1.导入配置文件23 require(dbconfig.php);24 //2.连接数据库,并选择数据库25 $link = @mysql_connect(host,user,pass) or die(数据库连接失败);26 mysql_select_db(dbname,$link);27 //3.执行商品信息查询28 $sql=select * from goods;29 $result = mysql_query($sql,$link);30 31 //4.解析商品信息(解析结果集)32 while($row = mysql_fetch_assoc($result))33 {34 echo ;35 echo {$row[id]} ;36 echo {$row[name]} ;37 echo %24row%5b pic> ;38 echo {$row[price]} ;39 echo {$row[total]} ;40 echo .date(y-m-d h:i:s,$row['addtime']). ;41 echo 42 $row['pic']}'>删除 43 修改 44 放入购物车 45 46 ;47 echo
;48 }49 //5.释放结果集,关闭数据库50 ?>51
52 53 54 index.php 1 2 3 商品信息管理 4 5 6 7 php 8 include(menu.php);//导入导航栏 9 //1.导入配置文件10 require(dbconfig.php);11 //2.连接数据库,并选择数据库12 $link = @mysql_connect(host,user,pass) or die(数据库连接失败);13 mysql_select_db(dbname,$link);14 //3.获取要修改的商品信息15 $sql=select *from goods where id={$_get['id']};16 $result = mysql_query($sql,$link);17 //4.判断是否获取到要编辑的商品信息18 if($result&&mysql_num_rows($result)>0)19 {20 $shop=mysql_fetch_assoc($result);//解析出要修改的商品信息21 }else22 {23 die(没有找到要修改的商品信息);24 }25 26 ?>27 编辑商品信息28 29 30 31 32 33 34 名称: 35 36
37 38 类型: 39 40 41 php 42 include(dbconfig.php);43 foreach($typelist as $k=>$v)44 {45 $sd = ($shop['typeid']==$k)?selected:;//判断是否当前的类型46 echo $sd}>{$v};47 }48 ?>49 50 51
52 53 单价: 54 55
56 57 库存: 58 59
60 61 图片: 62 63
64 65 描述: 66 67
68 69 70 71 72 73 74
75 76 77 %24shop%5b'pic'%5d;?>> 78
79
80 81 82 83 edit.php 1 php 2 //公共函数库 3 4 /* 5 * 文件上传处理函数 6 * @param string filename 要上传的文件表单项名 7 * @param string $path 上传文件的保存路径 8 * @param array 允许的文件类型 9 * @return array 两个单元: [error] false:失败,ture:成功 10 * [info] 存放失败原因或成功的文件名 11 */ 12 13 function uploadfile($filename,$path,$typelist=null) 14 { 15 //1.获取上传文件的名字 16 $upfile = $_files[$filename]; 17 if(empty($typelist)) 18 { 19 $typelist=array(image/gif,image/jpg,image/jpeg,image/png,image/pjpeg,image/x-png);//允许的文件类型 20 } 21 $res=array(error=>false);//存放返回的结果 22 //2.过滤上传文件的错误号 23 if($upfile[error]>0) 24 { 25 switch($upfile[error]) 26 { 27 case 1: 28 $res[info]=上传的文件超过了 php.ini中upload_max_filesize选项大小; 29 break; 30 case 2: 31 $res[info]=上传文件的大小超过了html表单中max_file_size选项; 32 break; 33 case 3: 34 $res[info]=文件只有部分被上传; 35 break; 36 case 4: 37 $res[info]=没有文件被上传; 38 break; 39 case 6: 40 $res[info]=找不到临时文件夹; 41 break; 42 case 7: 43 $res[info]=文件写入失败; 44 break; 45 default: 46 $res[info]=未知错误!; 47 break; 48 49 } 50 return $res; 51 } 52 //3.本次文件大小的限制 53 if($upfile[size]>1000000) 54 { 55 $res[info]=上传文件过大!; 56 return $res; 57 } 58 //4.过滤类型 59 if(!in_array($upfile[type],$typelist)) 60 { 61 $res[info]=上传类型不符!.$upfile[type]; 62 return $res; 63 } 64 //5.初始化下信息(为图片产生一个随机的名字) 65 $fileinfo = pathinfo($upfile[name]); 66 do 67 { 68 $newfile = date(ymdhis).rand(1000,9999)...$fileinfo[extension];//随机产生名字 69 70 }while(file_exists($newfile)); 71 //6.执行上传处理 72 if(is_uploaded_file($upfile[tmp_name])) 73 { 74 if(move_uploaded_file($upfile[tmp_name],$path./.$newfile)) 75 { 76 //将上传成功后的文件名赋给返回数组 77 $res[info]=$newfile; 78 $res[error]=true; 79 return $res; 80 }else 81 { 82 $res[info]=上传文件失败!; 83 } 84 }else 85 { 86 $res[info]=不是一个上传的文件; 87 } 88 return $res; 89 } 90 //================================================== 91 /* 92 * 93 * 等比缩放函数(以保存的方式实现) 94 * @param string $picname 被缩放的处理图片源 95 * @param int $maxx 缩放后的图片的最大宽度 96 * @param int $maxy 缩放后图片的最大高度 97 * @param string $pre 缩放后图片名的前缀名 98 * @param string 返回后的图片名称(带路径),如a.jpg=>s_a.jpg 99 */100 function imageupdatesize($picname,$maxx=100,$maxy=100,$pre=s_){101 $info=getimagesize($picname); //获取图片的基本信息102 $w = $info[0];//获取宽度103 $h = $info[1]; // 获取高度104 switch($info[2]){105 case 1: //gif106 $im=imagecreatefromgif($picname);107 break;108 case 2: //jpg109 $im=imagecreatefromjpeg($picname);110 break;111 case 3: //png112 $im=imagecreatefrompng($picname);113 break;114 default :115 die(图片类型错误);116 }117 //计算缩放比例118 if(($maxx/$w)>($maxy/$h)){119 $b=$maxy/$h;120 }else{121 $b=$maxx/$w;122 }123 //计算缩放后的尺寸124 $nw=floor($w*$b);125 $nh=floor($h*$b);126 //创建一个新的图像源127 $nim=imagecreatetruecolor($nw,$nh);128 //执行等比缩放129 imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);130 //输出图像131 $picinfo=pathinfo($picname);132 $newpicname=$picinfo[dirname]./.$pre.$picinfo[basename];133 134 switch($info[2]){135 case 1:136 imagegif($nim,$newpicname);137 break;138 case 2:139 imagejpeg($nim,$newpicname);140 break;141 case 3:142 imagepng($nim,$newpicname);143 break;144 default:145 echo 图片压缩错误;146 }147 //释放图片资源148 imagedestroy($im);149 imagedestroy($nim);150 //返回结果151 return $newpicname;152 }function.php1 商品信息管理--购物车2 浏览商品|3 添加商品|4 5 我的购物车|6 清空购物车7 8 9 menu.php 1 php 2 session_start();//启动会话 3 4 ?> 5 6 7 商品信息管理 8 9 10 11 12 添加商品到购物车13 14 php 15 //从数据库中读取要购买的信息并添加到购物车中16 //1.导入配置文件17 require(dbconfig.php);18 //2.连接数据库,并选择数据库19 $link = @mysql_connect(host,user,pass) or die(数据库连接失败);20 mysql_select_db(dbname,$link);21 //3.执行商品信息查询(获取要购买的信息)22 $sql=select * from goods where id={$_get['id']};23 $result = mysql_query($sql,$link);24 25 //4.判断是否没有找到要购买的信息,若有就读取出要购买的信息26 if(empty($result) || mysql_num_rows($result)==0)27 {28 die(没有找到要购买的信息!);29 }else30 {31 $shop = mysql_fetch_assoc($result);32 }33 $shop[num]=1;//添加一个数量的字段34 //5.放入购物车中(若已存在的商品实现数量累加)35 if(isset($_session[shoplist]{$shop['id']}))36 {37 //若存在数量增加138 $_session[shoplist][$shop['id']][num]++;39 }else40 {41 //若不存在,作为新购买的商品添加到购物车中42 $_session[shoplist][$shop['id']]=$shop;43 }44 45 ?>46 47 48 49 addcart 1 php 2 session_start();//启动会话 3 4 ?> 5 6 7 商品信息管理 8 9 10 11 12 浏览我的购物车13 14 15 商品id号16 商品名称17 商品图片18 单价19 数量20 小计21 操作22
23 php 24 $sum =0;//定义总金额的变量25 if(isset($_session[shoplist])){26 foreach($_session[shoplist] as $v)27 {28 echo ;29 echo {$v['id']} ;30 echo {$v['name']} ;31 echo %24v%5b pic> ;32 echo {$v['price']} ;33 echo 34 -35 {$v['num']}36 +37 ;38 echo .($v[price]*$v['num']). ; 39 echo 删除 ;40 echo
;41 $sum+=$v[price]*$v['num'];//累计金额42 }43 }44 ?>45 46 总计金额:47 48 49
50
51 52 53 mycart.php 1 php 2 3 //删除购物车session中的信息 4 session_start();//启动会话 5 6 //判断是删除一个商品还是清空购物车 7 if($_get['id']) 8 { 9 //只删除一种商品10 unset($_session['shoplist'][$_get['id']]);11 }else12 {13 //清空session中的商品14 unset($_session[shoplist]);15 }16 17 18 //跳转到浏览购物车界面19 header(location:mycart.php);20 ?>clearcart.php 1 php 2 session_start();//启动会话 3 //修改购物车中的信息 4 5 //获取要修改的信息 6 7 $id = $_get['id']; 8 $num = $_get['num']; 9 10 //修改商品信息11 $_session[shoplist][$id][num]+=$num;12 13 //防止商品数量过小14 if($_session[shoplist][$id][num])15 {16 $_session[shoplist][$id][num]=1;17 }18 //跳转回我的购物车界面19 header(location:mycart.php);20 21 ?>updatecart.php
以下为index.php截图:
mycart.php截图:
最后送上一句:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!
http://www.bkjia.com/phpjc/1005210.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1005210.htmltecharticlephp基础示例:商品信息管理系统v1.1,信息管理系统v1.1 实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一、创建数据...