在线商城系统设计

简介: 在线商城系统设计

数据库设计:

  1. 用户表 (Users):
  • UserID (主键)
  • 用户名
  • 密码
  • 电子邮件
  • 地址
  • 电话号码
  1. 产品表 (Products):
  • ProductID (主键)
  • 产品名称
  • 描述
  • 价格
  • 库存数量
  • 分类ID (外键,连接到分类表)
  1. 分类表 (Categories):
  • CategoryID (主键)
  • 分类名称
  1. 订单表 (Orders):
  • OrderID (主键)
  • UserID (外键,连接到用户表)
  • 订单日期
  • 订单状态 (例如,已支付、已发货、已完成等)
  1. 订单详情表 (OrderDetails):
  • OrderDetailID (主键)
  • OrderID (外键,连接到订单表)
  • ProductID (外键,连接到产品表)
  • 数量
  • 单价
  1. 支付表 (Payments):
  • PaymentID (主键)
  • OrderID (外键,连接到订单表)
  • 付款日期
  • 付款金额
  • 付款状态 (例如,已支付、待支付)
  1. 购物车表 (ShoppingCart):
  • CartID (主键)
  • UserID (外键,连接到用户表)
  • ProductID (外键,连接到产品表)
  • 数量

HTML代码

当用户点击“添加到购物车”按钮时,相应的产品将被添加到购物车数组中,并且购物车的内容将被渲染到页面上。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>在线商店</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
 
        header {
            text-align: center;
            padding: 10px;
            background-color: #f2f2f2;
        }
 
        h2 {
            color: #333;
        }
 
        #productList {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-around;
        }
 
        .product {
            border: 1px solid #ddd;
            border-radius: 5px;
            padding: 10px;
            margin: 10px;
            width: 200px;
            text-align: center;
        }
 
        #cart {
            margin-top: 20px;
            text-align: center;
        }
    </style>
</head>
<body>
    <header>
        <h2>在线商店</h2>
    </header>
 
    <section id="productList">
        <!-- 产品项将在此动态添加 -->
    </section>
 
    <div id="cart">
        <h3>购物车</h3>
        <ul id="cartItems">
            <!-- 购物车中的项目将在此动态添加 -->
        </ul>
    </div>
 
    <script>
        // 示例产品数据(用实际的后端数据替换)
        const products = [
            { id: 1, name: '商品 1', price: 29.99 },
            { id: 2, name: '商品 2', price: 39.99 },
            { id: 3, name: '商品 3', price: 49.99 }
            // 添加更多产品
        ];
 
        // 购物车数据
        const cartItems = [];
 
        // 渲染产品到页面
        function renderProducts() {
            const productList = document.getElementById('productList');
 
            // 清除现有内容
            productList.innerHTML = '';
 
            // 遍历产品并创建HTML元素
            products.forEach(product => {
                const productItem = document.createElement('div');
                productItem.classList.add('product');
                productItem.innerHTML = `
                    <h3>${product.name}</h3>
                    <p>价格:¥${product.price.toFixed(2)}</p>
                    <button onclick="addToCart(${product.id})">添加到购物车</button>
                `;
 
                productList.appendChild(productItem);
            });
        }
 
        // 添加产品到购物车
        function addToCart(productId) {
            const selectedProduct = products.find(product => product.id === productId);
 
            if (selectedProduct) {
                cartItems.push(selectedProduct);
                renderCart();
            }
        }
 
        // 渲染购物车项目到页面
        function renderCart() {
            const cartItemsList = document.getElementById('cartItems');
            cartItemsList.innerHTML = '';
 
            // 遍历购物车项目并创建HTML元素
            cartItems.forEach(item => {
                const cartItem = document.createElement('li');
                cartItem.textContent = `${item.name} - ¥${item.price.toFixed(2)}`;
                cartItemsList.appendChild(cartItem);
            });
        }
 
        // 初始渲染产品
        renderProducts();
    </script>
</body>
</html>

SQL语句用于创建表、插入数据、查询数据等操作。以下是一个基本的SQL示例,包括创建表格、插入样本数据和查询产品的示例。

-- 创建用户表
CREATE TABLE Users (
    UserID INT PRIMARY KEY,
    UserName VARCHAR(255),
    Password VARCHAR(255),
    Email VARCHAR(255),
    Address VARCHAR(255),
    PhoneNumber VARCHAR(20)
);
 
-- 创建产品分类表
CREATE TABLE Categories (
    CategoryID INT PRIMARY KEY,
    CategoryName VARCHAR(255)
);
 
-- 创建产品表
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(255),
    Description TEXT,
    Price DECIMAL(10, 2),
    StockQuantity INT,
    CategoryID INT,
    FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID)
);
 
-- 创建订单表
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    UserID INT,
    OrderDate DATE,
    OrderStatus VARCHAR(50),
    FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
 
-- 创建订单详情表
CREATE TABLE OrderDetails (
    OrderDetailID INT PRIMARY KEY,
    OrderID INT,
    ProductID INT,
    Quantity INT,
    UnitPrice DECIMAL(10, 2),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
 
-- 创建支付表
CREATE TABLE Payments (
    PaymentID INT PRIMARY KEY,
    OrderID INT,
    PaymentDate DATE,
    Amount DECIMAL(10, 2),
    PaymentStatus VARCHAR(50),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);
 
-- 创建购物车表
CREATE TABLE ShoppingCart (
    CartID INT PRIMARY KEY,
    UserID INT,
    ProductID INT,
    Quantity INT,
    FOREIGN KEY (UserID) REFERENCES Users(UserID),
    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
 
-- 插入样本用户数据
INSERT INTO Users (UserID, UserName, Password, Email, Address, PhoneNumber)
VALUES (1, 'JohnDoe', 'password123', 'john@example.com', '123 Main St', '555-1234');
 
-- 插入样本产品分类数据
INSERT INTO Categories (CategoryID, CategoryName)
VALUES (1, 'Electronics'), (2, 'Clothing'), (3, 'Home Goods');
 
-- 插入样本产品数据
INSERT INTO Products (ProductID, ProductName, Description, Price, StockQuantity, CategoryID)
VALUES
    (1, 'Laptop', 'Powerful laptop for work and entertainment', 999.99, 50, 1),
    (2, 'T-shirt', 'Comfortable cotton T-shirt', 19.99, 100, 2),
    (3, 'Coffee Maker', 'Automatic coffee maker for your kitchen', 49.99, 30, 3);
 
-- 插入样本订单数据
INSERT INTO Orders (OrderID, UserID, OrderDate, OrderStatus)
VALUES (1, 1, '2024-01-27', 'Processing');
 
-- 插入样本订单详情数据
INSERT INTO OrderDetails (OrderDetailID, OrderID, ProductID, Quantity, UnitPrice)
VALUES (1, 1, 1, 2, 999.99), (2, 1, 2, 3, 19.99);
 
-- 插入样本支付数据
INSERT INTO Payments (PaymentID, OrderID, PaymentDate, Amount, PaymentStatus)
VALUES (1, 1, '2024-01-28', 2219.94, 'Paid');
 
-- 插入样本购物车数据
INSERT INTO ShoppingCart (CartID, UserID, ProductID, Quantity)
VALUES (1, 1, 3, 1);

 


相关文章
|
前端开发 JavaScript Java
基于SSM的鲜花线上销售系统设计与实现
基于SSM的鲜花线上销售系统设计与实现
335 1
心理健康管理系统 【毕业设计系统】
这篇文章介绍了一个心理健康管理系统的毕业设计项目,展示了系统的功能分布、登录注册界面以及不同用户角色的后台管理界面,并提供了技术栈和效果截图。
心理健康管理系统 【毕业设计系统】
|
4月前
|
存储 算法 数据处理
【C/C++】C/C++ 校园失物招领系统设计与实现(源码+报告)【独一无二】
【C/C++】C/C++ 校园失物招领系统设计与实现(源码+报告)【独一无二】
|
7月前
|
SQL 前端开发 Java
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
|
7月前
|
存储 安全 前端开发
ONLY在线商城系统设计与实现
ONLY在线商城系统设计与实现
|
区块链
DAPP画室/书画/字画古董拍卖竞拍抢拍商城系统开发(案例设计)/项目逻辑/成熟技术/方案介绍/源码说明
智能合约是DAPP的核心组成部分,它是一种自执行的计算机代码,It can ensure that any transaction is validated and executed.智能合约提供了一种区块链上的可编程机制,通过编写代码,将一系列的条件和操作映射到智能合约中,To achieve management and control of data and transactions on the blockchain.
|
7月前
|
Java 关系型数据库 MySQL
开题报告-基于SSM的校园外卖管理系统设计与实现
开题报告-基于SSM的校园外卖管理系统设计与实现
376 0
|
存储 算法 安全
【实训】“宅急送”订餐管理系统(程序设计综合能力实训)
【实训】“宅急送”订餐管理系统(程序设计综合能力实训)
72 0
|
机器学习/深度学习 数据采集 数据库
智慧导诊系统开发原理
基于规则推理的方法通过人工建立症状、疾病和科室之间的对应规则实现导诊功能。通过提供图形化的界面让用户输入年龄、性别等个人信息,选择患病部位及相关症状, 将相关症状作为特征推理匹配得到科室, 推荐给患者。
169 0
|
存储 物联网 数据库
高校学生考勤管理系统设计
目前设计的这个基于RFID的学生考勤管理系统,采用C++作为编程语言,Qt作为整体UI软件框架,数据库采用SQLite,在设计这个考勤系统前,在互联网上进行了广泛搜索,找到了很多案例,发现很多考勤管理系统,操作流程和管理行也存在一些问题,本系统在结合其他软件的优点后,去除了一些不需要的模块,设计出一款全新的考勤管理系统。
578 0
高校学生考勤管理系统设计
下一篇
DataWorks