PHP基础示例:商品信息管理系统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文件关系图示:

242315125233659.png

 

 

好,那下面是代码部分:

首先是建表语句:


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                     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 "<br> <a href='index.php'>查看商品信息<a>";
120             break;
121             default:
122                 echo "错误";break;
123              
124     }
125 //四、关闭数据库
126     mysql_close($link);

action.php