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写一个商品信息管理系统,并带有购物车功能 一、创建数据...
   
 
   