欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP基础示范:商品信息管理系统v1.1

程序员文章站 2022-05-03 17:36:07
...
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文件关系图示:

PHP基础示范:商品信息管理系统v1.1

好,那下面是代码部分:

首先是建表语句:

PHP基础示范:商品信息管理系统v1.1
 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文件夹存放上传图片

PHP基础示范:商品信息管理系统v1.1
 1  2      3         商品信息管理 4      5      6         
7 include("menu.php");//导入导航栏 ?> 8

发布商品信息

9
10 11121314151617282930313233343536373839404142434445465051
名称:
类型: 18 27
单价:
库存:
图片:
描述:
47  48 49
52
53
54 55
add.php
PHP基础示范:商品信息管理系统v1.1
  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
PHP基础示范:商品信息管理系统v1.1
 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
PHP基础示范:商品信息管理系统v1.1
 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"]} PHP基础示范:商品信息管理系统v1.1 {$row["price"]} {$row["total"]} ".date("Y-m-d H:i:s",$row['addtime'])." 42 $row['pic']}'>删除 43 修改 44 放入购物车 45 46
52
53 54
index.php
PHP基础示范:商品信息管理系统v1.1
 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 $shop['id']; ?>" />30 $shop['pic']; ?>" />31 32 333435363738395152535455565758596061626364656667686970747576777879
名称: $shop['name']; ?>" />
类型: 40 50
单价: $shop['price']; ?>" />
库存: $shop['total']; ?>" />
图片:
描述:
71  72 73
PHP基础示范:商品信息管理系统v1.1$shop['pic'];?>" />
80
81
82 83
edit.php
PHP基础示范:商品信息管理系统v1.1
  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  * PHP基础示范:商品信息管理系统v1.1

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • PHP基础示范:商品信息管理系统v1.1
  • 专题推荐

    作者信息
    PHP基础示范:商品信息管理系统v1.1

    认证0级讲师

    推荐视频教程
  • PHP基础示范:商品信息管理系统v1.1javascript初级视频教程
  • PHP基础示范:商品信息管理系统v1.1jquery 基础视频教程
  • 视频教程分类