哈喽大家好,今天博主要讲解的是独立开发电子商务网站的第五篇——项目创建+数据库开发,想要预览整个系列博客的参考目录请点击这里

在本博客,博主会讲解:

  • 项目创建
  • PHP连接MySQL
  • 创建数据表
  • 数据的增删改查

项目创建

注意:项目创建需要用到宝塔并搭建LAMP环境,需要PHP7.0或以上版本,详情可以参考这里

我们要开始创建我们的网站了,在这里,我们需要先把网站的目录结构做好然后在进行代码开发。

请按照博主给出的步骤搭建项目。

  1. 首先,打开宝塔并登入面板。
  2. 点击左侧导航栏的网站一栏
  3. 点击添加站点
  4. 域名填写解析过的域名,不知道怎么解析的朋友请参考这里
  5. 数据库如果还没创建,可以选择创建一个,然后点击提交,我这里给一个示例
  6. 点击提交后,点击左侧导航栏的文件,切换到wwwroot路径
  7. 找到刚刚创建的网站的根目录名称
  8. 点击后可进入该目录,同时删除里面的html文件,最后能看到的文件如下
  9. 现在,我们要开始创建项目目录了。
  10. 首先,新建目录Applications
  11. 进入Applications文件夹,再创建五个目录
    1. Admin
    2. Provider
    3. System
    4. User
    5. Utility
  12. 这五个文件夹分别用于:管理员所需的文件,供货商所需的文件,系统文件,用户文件和工具文件存放
  13. 然后返回项目根目录
  14. 创建css文件夹
  15. 创建image文件夹
  16. 进入image文件夹,做一个或找一个你喜欢的logo,推荐高1:宽6的图,后缀改成png,上传到该文件夹
  17. 再上传一个方形购物车的图到该文件夹,同样也要png格式
  18. 返回项目根目录
  19. 创建videos文件夹,用于存放产品视频
  20. 创建withdrawImg文件夹,用于存放提现时的微信收款码之类的
  21. 做一个32*32的logo小图标,名称及后缀改成favicon.ico,上传到根目录

恭喜你,到这里,项目文件夹就算是设置完了!

现在,我们要开始配置数据库了

PHP连接MySQL

首先,从网站根目录进入Applications/Utility目录,创建新的文件,命名为conn.php

在PHP7.0和之后的版本,连接数据库创建mysqli连接。

即:

<?php
$servername = "localhost";
$username = "输入你的数据库账号";
$password = "输入你的数据库密码 ";
$dbname = "输入你的数据库名称";// 创建连接
$conn = new mysqli($servername, $username, $password,$dbname);
// Check connection
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}
?>

将上面的代码复制进conn.php,将关键内容替换。

替换好后,打开新窗口,输入你的域名/Applications/Utility/conn.php,

看看是否是空白页面,如果页面是空白的,则代表服务器成功连接!

创建数据表

在我的第二篇博客,博主讲过SQL的基础操作。

返回根目录,创建新的文件,命名为init.php。

在这里,我们先整理一下我们需要哪些信息:

  • 会员数据表

    • 会员id(不能重复)
    • 会员名称(不能重复)
    • 密码
    • 手机号码
    • 上一次使用手机号码
    • 邀请人id(可以不存在)
    • 积分
    • 货币余额
    • 购买过的产品
    • 联系地址
    • 上次使用地址
    • 购物车
    • 提现密码
    • 奖励积分
  • 供货商数据表
    • 供货商id(不能重复)
    • 供货商名称(不能重复)
    • 供货商密码
    • 联系号码1
    • 联系号码2
    • 身份证号或企业执照号
    • 货币余额
    • 提现密码
    • 上次使用快递公司
    • 是否过审
  • 商品数据表
    • 商品id(不能重复)
    • 商品名称(不能重复)
    • 商品类型
    • 商品库存
    • 商品供货商id
    • 成本
    • 售价
    • 购买量
    • 宣传横幅路径
    • 介绍图路径
    • 简介
    • 视频
    • 是否过审
    • 会员奖励
  • 管理员数据表
    • 管理员id(不可重复)
    • 管理员名称(不可重复)
    • 管理员密码
  • 系统设置数据表
    • 网站名称
    • 首页横幅id
    • 全部种类
    • 隐私策略内容
    • 服务条款内容
    • 联系我们内容
  • 系统日志数据表
    • 日志id(不可重复)
    • 执行管理员id
    • 日志内容
    • 日志时间
  • 订单数据表
    • 订单id(不可重复)
    • 订单商品名称
    • 订单支付方式
    • 购买用户id
    • Bufpay生产的唯一识别码
    • 金额
    • 支付金额
    • MD5签名
    • 推荐人
    • 订单状态
    • 下单时间
    • 收货人
    • 收货人联系电话
    • 收货人发货地址
  • 提现数据表
    • 提现id(不可重复)
    • 提现账号类型(区分供货商和会员)
    • 提现账号id
    • 提现金额
    • 提现时间
    • 提现人姓名
    • 提现方式
    • 提现信息
    • 状态
    • 收款码

大概就是这些内容。

以下为代码:

<?php
require_once("Applications/Utility/conn.php");// 使用 sql 创建会员数据表
//id,姓名,密码,邀请码,萝卜分,萝卜币,购买记录(数量*id),头像地址,收货地址
$sql = "CREATE TABLE IF NOT EXISTS Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(108) NOT NULL UNIQUE ,
password VARCHAR(30) NOT NULL,
number VARCHAR(50) NOT NULL,
last_number VARCHAR(50) NOT NULL,
invitation VARCHAR(50),
point DECIMAL(65,2) NOT NULL,
coin DECIMAL(65,2) NOT NULL,
buys VARCHAR(4294967295),
location VARCHAR(4294967295),
last_location VARCHAR(4294967295),
cart VARCHAR(4294967295) NULL,
withdraw_password VARCHAR(30) NOT NULL,
bonus_point DECIMAL(65,2) NOT NULL
);
";if ($conn->query($sql) === TRUE) {echo "会员数据表建立成功!<br>";
} else {echo "创建数据表错误: " . $conn->error;$conn->close();
}// 使用 sql 创建供货商数据表
//id,供货商名称、密码、联系方式、备用联系方式、营业执照号或身份证号、可提现金额
$sql = "CREATE TABLE IF NOT EXISTS Providers (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(108) NOT NULL UNIQUE ,
password VARCHAR(30) NOT NULL,
number1 VARCHAR(50) NOT NULL,
number2 VARCHAR(50) NOT NULL,
identify VARCHAR(108) NOT NULL,
coin DECIMAL(65,2) NOT NULL,
reviewed VARCHAR(5) NOT NULL,
withdraw_password VARCHAR(30) NOT NULL,
last_company VARCHAR(50) NOT NULL
);
";if ($conn->query($sql) === TRUE) {echo "供货商数据表建立成功!<br>";
} else {echo "创建数据表错误: " . $conn->error;$conn->close();
}// 使用 sql 创建产品数据表
//id,商品名称,类型,库存,提供商id,成本,售价,介绍横幅图,全部图片,介绍,是否审核,创意
$sql = "CREATE TABLE IF NOT EXISTS Products (
id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(200) NOT NULL UNIQUE ,
type VARCHAR(30) NOT NULL,
amount INT(20) NOT NULL,
provider VARCHAR(50) NOT NULL,
earn DECIMAL(65,2) NOT NULL,
sell DECIMAL(65,2) NOT NULL,
buys INT(9) NOT NULL,
infoImg VARCHAR(108) NOT NULL,
allImgs VARCHAR(4294967295),
info VARCHAR(10000) NOT NULL,
video VARCHAR(108),
reviewd VARCHAR(5) NOT NULL,
reward DECIMAL(65,2) NULL
);
";if ($conn->query($sql) === TRUE) {echo "产品数据表建立成功!<br>";
} else {echo "创建数据表错误: " . $conn->error;$conn->close();
}// 使用 sql 创建管理员数据表
$sql = "CREATE TABLE IF NOT EXISTS Admins (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL UNIQUE,
password VARCHAR(30) NOT NULL)";
$result = $conn->query($sql);
if($result==TRUE){echo "管理员数据表创建成功!";
}else{echo "数据表错误: " . $conn->error;$conn->close();
}$sql="INSERT INTO Admins (name,password)
VALUES ('admin','password')";
if ($conn->query($sql) === TRUE) {echo "默认管理员数据插入成功!<br>";echo "账号:admin<br>密码:password<br>";
} else {}// 使用 sql 创建系统设置数据表
$sql = "CREATE TABLE IF NOT EXISTS Settings (
name VARCHAR(30) NOT NULL UNIQUE,
bannerId INT(9) NOT NULL UNIQUE,
types VARCHAR(999999) NOT NULL,
privacy VARCHAR(999999) NOT NULL,
term VARCHAR(999999) NOT NULL,
contact VARCHAR(999999) NOT NULL)";
$result = $conn->query($sql);
if($result==TRUE){echo "系统设置数据表创建成功!<br>";
}else{echo "数据表错误: " . $conn->error;$conn->close();
}$sql="INSERT INTO Settings (name,bannerId,types,privacy,term,contact)
VALUES ('Web全栈开发的电子商城','1','男装 内衣 女装 精品 鞋品 箱包 饰品 配件 运动 户外 家电 家具 居家 家纺 手机 数码 汽车 旅行 母婴玩具 办公 娱乐 美妆 个护','隐私条款内容','服务条款内容','联系方式内容')";
if ($conn->query($sql) === TRUE) {echo "默认系统设置数据插入成功!<br>";echo "网站名称:Web全栈开发的电子商城<br>首页推荐商品Id:1<br>";
} else {}// 使用 sql 创建日志数据表
$sql = "CREATE TABLE IF NOT EXISTS Logs (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
admin VARCHAR(30) NOT NULL,
log VARCHAR(1080) NOT NULL,
time VARCHAR(108) NOT NULL);";
$result = $conn->query($sql);
if($result==TRUE){echo "操作日志数据表创建成功!<br>";
}else{echo "数据表错误: " . $conn->error;$conn->close();
}$dt = new DateTime();$sql="INSERT INTO Logs (admin,log,time)
VALUES ('系统','初始化数据库','".$dt->format('Y-m-d H:i:s')."');";
$result = $conn->query($sql);
if ($result=== TRUE) {echo "系统操作数据插入成功!<br>";
} else {}$sql="CREATE TABLE IF NOT EXISTS `Orders` (`id` INT(100) NOT NULL AUTO_INCREMENT PRIMARY KEY,`name` VARCHAR(200) NOT NULL COMMENT '商品名称',`type` VARCHAR(10) NOT NULL COMMENT '微信/支付宝' ,`uid` INT(100) NOT NULL COMMENT '购买用户id' ,`aoid` VARCHAR(100) NOT NULL COMMENT 'BufPay唯一识别码' ,`price` DECIMAL(65,2) NOT NULL COMMENT '应支付金额' ,`pay_price` DECIMAL(65,2) NOT NULL COMMENT '支付金额' ,`sign` VARCHAR(100) NOT NULL COMMENT 'MD5签名' ,`invite` VARCHAR(1000) NULL COMMENT '推荐人',`status` VARCHAR(1000) NOT NULL COMMENT '状态',`time` DATETIME NOT NULL COMMENT '下单时间',`person` VARCHAR(1000) NOT NULL COMMENT '收货人',`number` VARCHAR(1000) NOT NULL COMMENT '联系电话',`location` VARCHAR(1000) NOT NULL COMMENT '收货地址');";$result = $conn->query($sql);
if($result==TRUE){echo "订单数据表创建成功!<br>";
}else{echo "数据表错误: " . $conn->error;$conn->close();
}
$sql="CREATE TABLE IF NOT EXISTS `Withdraw` ( `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '提现编号' ,
`type` VARCHAR(20) NOT NULL COMMENT '账号类型' ,
`uid` INT(10) NOT NULL COMMENT '账号id' ,
`money` DECIMAL(65,2) NOT NULL COMMENT '提现金额' ,
`time` DATETIME NOT NULL COMMENT '提现时间' ,
`name` VARCHAR(10) NOT NULL COMMENT '提现人姓名 ' ,
`withdrawType` VARCHAR(200) NOT NULL COMMENT '提现方式' ,
`details` VARCHAR(1000) NOT NULL COMMENT '提现信息' ,
`status` VARCHAR(20) NOT NULL COMMENT '状态' ,
`screenshot` VARCHAR(500) NOT NULL COMMENT '收款码',
PRIMARY KEY (`id`)) ENGINE = InnoDB;";$result = $conn->query($sql);
if($result==TRUE){echo "提现数据表创建成功!<br>";
}else{echo "数据表错误: " . $conn->error;$conn->close();
}$conn->close();
?>

执行域名/init.php后,会显示如下界面:

恭喜你,这就代表你的数据库创建成功了!

然后让我们登入phpMyAdmin,不知道这个是什么或者怎么用的小伙伴可以参考这里

我们可以看到,我们给这个网站所分配的数据库已经多了好几张我们刚刚创建的数据表,这就表明我们真的成功了!

感谢各位的阅读,博主将稳定的更新该系列的博客,请各位先关注博主,博主每周会更新2到5篇系列博客哦!

完整项目可见:btb.summitx.com.cn

[小白的Web全栈之旅]独立开发电子商务网站--项目创建+数据库开发相关推荐

  1. [小白的Web全栈之旅]独立开发电子商务网站--管理员后台开发(一、界面开发)

    哈喽大家好,今天博主要讲解的是独立开发电子商务网站的第五篇--项目创建+数据库开发,想要预览整个系列博客的参考目录请点击这里 在本博客,博主会讲解: 调用Bootstrap开发管理员后台登入界面 调用 ...

  2. [小白的Web全栈之旅]独立开发电子商务网站--管理员后台开发(二、登入实现+管理商品【上】)

    哈喽大家好,今天博主要讲解的是独立开发电子商务网站的第五篇--项目创建+数据库开发,想要预览整个系列博客的参考目录请点击这里 在本博客,博主会讲解: 通过查询MySQL实现管理员登入 查询已上架商品 ...

  3. [小白的Web全栈之旅]独立开发电子商务网站--项目介绍

    Web开发,是一个看似简单,实际复杂的工程,需要包括但不限于设计师.前端开发.后端开发的程序员们来开发,而Web全栈开发,是一种carry全场,具备页面设计,前端开发,后端开发等多个技能于一身的大神程 ...

  4. [小白的Web全栈之旅]独立开发电子商务网站--所需框架及api

    哈喽大家好,今天博主要讲解的是独立开发电子商务网站的第四篇--所需框架及api,想要预览整个系列博客的参考目录请点击这里 在本博客,博主会讲解: JQuery介绍 Bootstrap介绍 榛子云sms ...

  5. 网站https加载不出css样式_Python Web全栈之旅04--Web前端●走入CSS的世界

    一.CSS初认识 1.趣调查 2."装修小能手" 前面我们研究了HTML,回顾下它是做什么的? 当我们用HTML搭建好网页的基本骨架,下面请出我们的"装修小能手" ...

  6. 开课吧python全栈靠谱么-杭州Web全栈

    Web全栈招生简章 开课吧简介 开课吧,中国有口皆碑的互联网人学习平台,为互联网从业者及潜在从业者提供O2O职业学习.就业.职业成长服务,让学习者收获互联网从业技能和能力,从而实现从"校园& ...

  7. java web全栈漫谈

    点击上方" java工会 ",选择"置顶公众号" 关注我,查看更多全栈相关技术! 原文:https://www.aliyun.com/jiaocheng/112 ...

  8. (全栈旅行足迹地图打卡网站 0-1)-项目概述-01(WebGIS Vue-js-go-mysql)

    专栏介绍 首先本专栏是一个全栈项目的旅行足迹地图打卡网站,定位是一个想要做开发的小伙伴,还有就是刚刚开始学习Web项目的大学生,想要做项目或者其他设计的学习源.也定位于目标想要快速上手 WebGIS ...

  9. Web全栈开发基础(小白入门版本)

    博客传送门 近几个月认真写了写Web全栈代码,有点小收获这里分享一下.我还做了个PPT,资源路径 欢迎拍砖指点! Web全栈开发是一个听起来很虎的名词.本文从技术层面解释全栈开发,能帮助没有全栈概念, ...

最新文章

  1. 从外部导入django模块
  2. JAVA_SE之内部类
  3. 秒懂JVM的三大参数类型,就靠这十个小实验了
  4. STM32串口中断接收方式详细比较
  5. 从面试官的角度谈谈大数据面试
  6. I Hate It(线段树基础)
  7. 从零开始做一个SLG游戏(二):用mesh实现简单的地形
  8. 基于HTML5技术的电力3D监控应用(三)
  9. MySQL 数据库性能优化之SQL优化
  10. Python面向对象——继承
  11. 同样是OpenJDK8,有的平台需要libpng12,有的不需要
  12. 230页10万字智慧城管系统整体建设方案
  13. 函数对称性常见公式_初中函数公式大全
  14. Linux上查找最大文件的 3 种方法
  15. 2023年浙大MEM英语二作文干货模版:临阵磨枪可用
  16. 自学Java day24 一篇文章弄懂mySQL基础命令 从jvav到架构师
  17. 我心中的计算机作文500,我心中的太阳作文500字(通用10篇)
  18. 《C++ Primer 第5版》-11.2关联容器概述-康奈尔笔记
  19. c语言中取小数函数,C / C++ 保留小数函数(setprecision(n)的一些用法总结)
  20. CCProxy + Proxifier 通过另一台电脑访问网络

热门文章

  1. vscode 优化.vscode/ipch(解决格式化失效以及占用存储空间大的问题)
  2. 学习-Java包装类之Long类(3)
  3. Excel之走势图/折线图
  4. java笛卡尔积算法实现
  5. mpi4py 中的收集操作
  6. Tomcat介绍及三种启动方式
  7. Redis 管理工具:Another Redis DeskTop Manager
  8. vue中如何判断checkbox是否选中
  9. 用最复杂的方式学会数组(Python实现动态数组)
  10. html游戏社区主题源码期末大作业0021