使用 PHP 制作电子商务网站
一、 开发环境
1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP
7.1.0。
2、文本编辑器:Sublime 3。
二、主要技术
本案例主要使用 PHP 制作电子商务网站,通过 PHP 对 MySQL 数据
库中数据的增加、删除、修改、查询操作,从而来实现商品信息的展
示和查询、添加商品至购物车以及管理员对商品信息的增、删、改、
查功能。
三、效果图展示
实现效果图,如图 1、2、3、4 所示。
图 1 效果图(推荐商品页)
图 2 效果图(数码产品页)
图 3 效果图(我的购物车页)
图 4 效果图(商品信息添加页)
四、具体步骤
4.1、数据库设计
(1)创建数据库
创建一个名为“phpDemo”的数据库。
(2)创建数据表
①创建用户信息表
创建一个名为“099_1”的表,用来存储用户的信息,表结构如
下所示:
Field
Type
Null
Key
Default
Extra
user_id
int(11)
NO
PRI
NULL
auto_increment
user_name
varchar(50)
NO
NULL
user_pwd
varchar(50)
NO
NULL
user_date
varchar(50)
NO
NULL
user_tel
varchar(50)
NO
NULL
user_addr
text
NO
NULL
②创建商品信息表
创建一个名为“099_2”的表,用来存储商品的信息,表结构如下
所示:
Field
Type
Null
Key
Default
Extra
goods_id
int(11)
NO
PRI
NULL
auto_increment
goods_name
varchar(64)
NO
NULL
goods_price
double(6,2)
NO
NULL
goods_total
int(10)
NO
NULL
goods_pic
varchar(32)
NO
NULL
goods_note
text
NO
NULL
goods_addtime
varchar(50)
NO
NULL
goods_tuijian
int(10)
NO
NULL
goods_belong
varchar(50)
NO
NULL
③创建商品类别表
创建一个名为“099_3”的表,用来存储商品的类别信息,表结
构如下所示:
Field
Type
Null
Key
Default
Extra
lb_id
int(11)
NO
PRI
NULL
auto_increment
lb_name
varchar(50)
NO
NULL
④创建购物车表
创建一个名为“099_4”的表,用来存储用户的购物车信息,表
结构如下所示:
Field
Type
Null
Key
Default
Extra
car_id
int(11)
NO
PRI
NULL
auto_increment
car_goods_id
int(11)
NO
NULL
car_user
varchar(50)
NO
NULL
car_num
int(11)
NO
NULL
⑤创建管理员表
创建一个名为“099_5”的表,用来存储管理员的信息,表结构
如下所示:
Field
Type
Null
Key
Default
Extra
admin_id
int(11)
NO
PRI
NULL
auto_increment
admin_name
varchar(50)
NO
NULL
admin_pwd
varchar(50)
NO
NULL
admin_sex
char(10)
NO
NULL
(3)向表中插入数据
4.2、商品信息模块
(1)推荐商品的展示
<div id="theme"> 推荐商品>></div>
<form action="" method="get">
<?php
$page=isset($_GET["page"])?$_GET['page']:1; // 当前页数
$pageSize=4; // 每页显示数据量
$maxRows; //最大数据条数
$maxPages; // 页数
// 获取最大数据条数
$sql = "select * from `099_2` where goods_tuijian=1";
$stmt=$dbh->query($sql);
$maxRows=$stmt->rowCount(); //定位从结果集中获取总数据条
数这个值。
// 计算出共计最大页数
$maxPages = ceil($maxRows/$pageSize); //采用进一求整法算
出最大页数
// 效验当前页数
if($page>$maxPages){
$page=$maxPages;
}
if($page<1){
$page=1;
}
// 拼装分页 sql 语句片段
$limit = " limit ".(($page-1)*$pageSize).",
{$pageSize}"; //起始位置是当前页减一乘以页大小
$sql_tj="select * from `099_2` where goods_tuijian=1
order by goods_id
{$limit}";
$result_tj=$dbh->query($sql_tj);
foreach($result_tj as $row_tj){
$pic=$row_tj['goods_pic'];
$picname="./images/".$pic; // 图片路径
?>
<table id="tuijian">
<tr>
<td colspan='2'>商品编号:<?php echo
$row_tj['goods_id'];?></td>
</tr>
<tr>
<td><?php
require("./common/suofang.php"); // 引入图片缩放并
输出文件
?></td>
<td width='300px'>商品名称:<?php echo
$row_tj['goods_name'];?><br/>
商品类别:<?php echo $row_tj['goods_belong'];?><br/>
商品价格:<?php echo $row_tj['goods_price'];?>元
<br/>
库存量:<?php echo $row_tj['goods_total'];?><br/>
上市时间:<?php echo $row_tj['goods_addtime'];?>
<br/>
商品简介:<?php echo $row_tj['goods_note'];?><br/>
加入购入车:<a href="addCar.php?id=<?php echo
$row_tj[0];?>&&uname=<?php echo $uname;?>">
<img src="./images/car.jpg" id="car"></a>
</td>
</tr>
</table>
<?php
}
//输出分页信息,显示上一页和下一页的连接
echo "<div id='pagebar'><center>";
echo "<br/><br/>";
echo "当前{$page}/{$maxPages}页 共计{$maxRows}条";
echo " <a href='index.php?page=1'>首页</a> ";
echo " <a href='index.php?page=".($page-1)."'>上一页
</a> ";
echo " <a href='index.php?page=".($page+1)."'>下一页
</a> ";
echo " <a href='index.php?page={$maxPages}'>末页</a> ";
echo "</center></div>";
?>
</form>
</div>
(2)商品分类查找并显示
①商品分类查找表单设计
<form action="goods_info.php" method="post">
请选择商品类别: