实现目标:使用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 <html> 2 <head> 3 <title>商品信息管理</title> 4 </head> 5 <body> 6 <center> 7 <?php include("menu.php");//导入导航栏 ?> 8 <h3>发布商品信息</h3> 9 <form action="action.php?action=add" enctype="multipart/form-data" method="post">10 <table border="0" width="300">11 <tr>12 <td align="right">名称:</td>13 <td><input type="text" name="name"/></td>14 </tr>15 <tr>16 <td align="right">类型:</td>17 <td>18 <select name="typeid">19 <?php 20 include("dbconfig.php");21 foreach($typelist as $k=>$v)22 {23 echo "<option value='{$k}'>{$v}</option>";24 }25 ?>26 </select>27 </td>28 </tr>29 <tr>30 <td align="right">单价:</td>31 <td><input type="text" name="price"/></td>32 </tr>33 <tr>34 <td align="right">库存:</td>35 <td><input type="text" name="total"/></td>36 </tr>37 <tr>38 <td align="right">图片:</td>39 <td><input type="file" name="pic"/></td>40 </tr>41 <tr>42 <td align="right" valign="top">描述:</td>43 <td><textarea rows="5" cols="20" name="note"></textarea></td>44 </tr>45 <tr>46 <td colspan="2" align="center">47 <input type="submit" value="添加"/> 48 <input type="reset" value="重置"/>49 </td>50 </tr>51 </table>52 </form>53 </center>54 </body>55 </html>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 "<br> <a href='index.php'>查看商品信息<a>"; 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 imageUpdateSi