当前位置:Gxlcms > PHP教程 > PHP基础示例:商品信息管理系统v1.1,信息管理系统v1.1_PHP教程

PHP基础示例:商品信息管理系统v1.1,信息管理系统v1.1_PHP教程

时间:2021-07-01 10:21:17 帮助过:5人阅读

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 include("menu.php");//导入导航栏 ?> 8

发布商品信息

9 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 }else 116 { 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 include("menu.php");//导入导航栏 ?> 8

浏览商品信息

9 10 11121314151617181920php 21//从数据库中读取信息并输出到浏览器表格中 22 //1.导入配置文件23require("dbconfig.php"); 24//2.连接数据库,并选择数据库25$link = @mysql_connect(HOST,USER,PASS) or die("数据库连接失败"); 26mysql_select_db(DBNAME,$link); 27//3.执行商品信息查询28$sql="select * from goods"; 29$result = mysql_query($sql,$link); 3031//4.解析商品信息(解析结果集)32while($row = mysql_fetch_assoc($result)) 33 { 34echo ""; 35echo ""; 36echo ""; 37echo ""; 38echo ""; 39echo ""; 40echo ""; 41echo ""; 47echo ""; 48 } 49//5.释放结果集,关闭数据库50 ?> 51
商品编号 商品名称 商品图片 单价 库存量 添加时间 操作
{$row["id"]} {$row["name"]} {$row["price"]} {$row["total"]} ".date("Y-m-d H:i:s",$row['addtime'])." 42 $row['id']}&picname={$row['pic']}'>删除 43 $row['id']}'>修改 44 $row['id']}'>放入购物车 45 46
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 }else 22 { 23 die("没有找到要修改的商品信息"); 24 } 25 26 ?> 27

编辑商品信息

28 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: //gif 106 $im=imagecreatefromgif($picname); 107 break; 108 case 2: //jpg 109 $im=imagecreatefromjpeg($picname); 110 break; 111 case 3: //png 112 $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.php 1

商品信息管理--购物车

2 浏览商品| 3 添加商品| 4 5 我的购物车| 6 清空购物车 7 8 9
menu.php 1 php 2 session_start();//启动会话 3 4 ?> 5 6 7 商品信息管理 8 9 10
11 include("menu.php");//导入导航栏 ?> 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 }else 30 { 31 $shop = mysql_fetch_assoc($result); 32 } 33 $shop["num"]=1;//添加一个数量的字段 34 //5.放入购物车中(若已存在的商品实现数量累加) 35 if(isset($_SESSION["shoplist"]{$shop['id']})) 36 { 37 //若存在数量增加1 38 $_SESSION["shoplist"][$shop['id']]["num"]++; 39 }else 40 { 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 include("menu.php");//导入导航栏 ?> 12

浏览我的购物车

13 14151617181920212223php 24$sum =0;//定义总金额的变量25if(isset($_SESSION["shoplist"])){ 26foreach($_SESSION["shoplist"] as$v) 27 { 28echo ""; 29echo ""; 30echo ""; 31echo ""; 32echo ""; 33echo ""; 38echo ""; 39echo ""; 40echo ""; 41$sum+=$v["price"]*$v['num'];//累计金额42 } 43 } 44 ?> 454647484950
商品id号 商品名称 商品图片 单价 数量 小计 操作
{$v['id']} {$v['name']} {$v['price']} 34 35 {$v['num']} 36 37 ".($v["price"]*$v['num'])." $v['id']}'>删除
总计金额: echo $sum; ?>
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 }else 12 { 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"]<1) 15 { 16 $_SESSION["shoplist"][$id]["num"]=1; 17 } 18 //跳转回我的购物车界面 19 header("Location:myCart.php"); 20 21 ?> updateCart.php

以下为index.php截图:

myCart.php截图:

最后送上一句:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1005210.htmlTechArticlePHP基础示例:商品信息管理系统v1.1,信息管理系统v1.1 实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一、创建数据...

人气教程排行