Maison > base de données > tutoriel mysql > Comment développer un site Web de commerce électronique simple en utilisant MySQL et Ruby

Comment développer un site Web de commerce électronique simple en utilisant MySQL et Ruby

PHPz
Libérer: 2023-09-22 08:51:22
original
1241 Les gens l'ont consulté

Comment développer un site Web de commerce électronique simple en utilisant MySQL et Ruby

Comment développer un site Web de commerce électronique simple à l'aide de MySQL et Ruby

Le développement de sites Web de commerce électronique est une partie importante des applications Internet modernes. Dans cet article, nous présenterons comment développer un site Web de commerce électronique simple à l'aide de MySQL et Ruby. Nous discuterons de la conception de bases de données, de la logique back-end et des interactions frontales, et fournirons des exemples de code spécifiques.

  1. Conception de base de données

Tout d'abord, nous devons concevoir une base de données adaptée aux sites Web de commerce électronique. Nous utiliserons MySQL comme système de gestion de base de données et définirons les tables suivantes :

  • Utilisateur : stocke les informations de base de l'utilisateur, telles que le nom d'utilisateur, le mot de passe, l'e-mail, etc.
  • Produit : stocke les informations sur le produit, telles que le nom du produit, le prix, l'inventaire, etc.
  • Commande : stocke les informations de commande, telles que le numéro de commande, l'identifiant d'utilisateur, l'identifiant de produit, la quantité, etc.

Le code pour créer ces tables dans MySQL est le suivant :

CREATE TABLE User (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL
);

CREATE TABLE Product (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    stock INT NOT NULL
);

CREATE TABLE Order (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    product_id INT NOT NULL,
    quantity INT NOT NULL,
    FOREIGN KEY (user_id) REFERENCES User(id),
    FOREIGN KEY (product_id) REFERENCES Product(id)
);
Copier après la connexion
  1. Logique backend

Ensuite, nous utiliserons Ruby pour implémenter la logique backend. Nous utiliserons Sinatra comme framework Web et ActiveRecord pour interagir avec la base de données MySQL. Voici un exemple simple de code backend :

require 'sinatra'
require 'sinatra/activerecord'

# 配置数据库连接
set :database, {adapter: 'mysql2', host: 'localhost', database: 'ecommerce', username: 'root', password: 'password'}

# 定义User模型
class User < ActiveRecord::Base
  has_many :orders
end

# 定义Product模型
class Product < ActiveRecord::Base
  has_many :orders
end

# 定义Order模型
class Order < ActiveRecord::Base
  belongs_to :user
  belongs_to :product
end

# 创建用户
post '/users' do
  user = User.create(params[:user])
  if user.valid?
    {status: 'success', message: 'User created successfully'}.to_json
  else
    {status: 'error', message: user.errors.full_messages.join(', ')}.to_json
  end
end

# 创建商品
post '/products' do
  product = Product.create(params[:product])
  if product.valid?
    {status: 'success', message: 'Product created successfully'}.to_json
  else
    {status: 'error', message: product.errors.full_messages.join(', ')}.to_json
  end
end

# 创建订单
post '/orders' do
  order = Order.create(params[:order])
  if order.valid?
    {status: 'success', message: 'Order created successfully'}.to_json
  else
    {status: 'error', message: order.errors.full_messages.join(', ')}.to_json
  end
end
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini trois modèles (Utilisateur, Produit et Commande) pour interagir avec la base de données. Nous avons créé trois itinéraires pour gérer les demandes de création d'utilisateurs, de produits et de commandes.

  1. Interaction front-end

Enfin, nous utiliserons HTML, CSS et JavaScript pour implémenter l'interaction front-end. Voici un exemple simple de code frontal :

<!DOCTYPE html>
<html>
<head>
  <title>E-commerce Website</title>
  <link rel="stylesheet" type="text/css" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  <h1>Welcome to our E-commerce Website</h1>

  <form id="user-form" onsubmit="createUser(event)">
    <input type="text" name="username" placeholder="Username" required>
    <input type="password" name="password" placeholder="Password" required>
    <input type="email" name="email" placeholder="Email" required>
    <button type="submit">Create User</button>
  </form>

  <form id="product-form" onsubmit="createProduct(event)">
    <input type="text" name="name" placeholder="Product Name" required>
    <input type="number" name="price" step="0.01" placeholder="Price" required>
    <input type="number" name="stock" placeholder="Stock" required>
    <button type="submit">Create Product</button>
  </form>

  <form id="order-form" onsubmit="createOrder(event)">
    <input type="number" name="user_id" placeholder="User ID" required>
    <input type="number" name="product_id" placeholder="Product ID" required>
    <input type="number" name="quantity" placeholder="Quantity" required>
    <button type="submit">Create Order</button>
  </form>

  <script src="http://code.jquery.com/jquery-3.5.1.min.js"></script>
  <script src="script.js"></script>
</body>
</html>
Copier après la connexion
/* style.css */
input {
  margin-bottom: 10px;
}

button {
  margin-top: 10px;
}
Copier après la connexion
// script.js
function createUser(event) {
  event.preventDefault();

  $.ajax({
    url: '/users',
    method: 'POST',
    data: $('#user-form').serialize(),
    success: function(response) {
      console.log(response);
    }
  });
}

function createProduct(event) {
  event.preventDefault();

  $.ajax({
    url: '/products',
    method: 'POST',
    data: $('#product-form').serialize(),
    success: function(response) {
      console.log(response);
    }
  });
}

function createOrder(event) {
  event.preventDefault();

  $.ajax({
    url: '/orders',
    method: 'POST',
    data: $('#order-form').serialize(),
    success: function(response) {
      console.log(response);
    }
  });
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons créé un formulaire simple pour créer des utilisateurs, des articles et des commandes. Lorsque le formulaire est soumis, les données sont envoyées au backend via une requête Ajax et la réponse est affichée dans la console.

Résumé :

Cet article présente comment utiliser MySQL et Ruby pour développer un site Web de commerce électronique simple. Nous discutons de la conception de bases de données, de la logique back-end et des interactions front-end, et fournissons des exemples de code concrets. En étudiant ces exemples, vous pouvez commencer à développer votre propre site Web de commerce électronique, en l'étendant et en le personnalisant selon vos besoins. J'espère que cet article pourra vous aider !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal