Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby

Bagaimana untuk membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby

PHPz
PHPzasal
2023-09-22 08:51:221213semak imbas

Bagaimana untuk membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby

Cara membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby

Pembangunan laman web e-dagang adalah bahagian penting dalam aplikasi Internet moden. Dalam artikel ini, kami akan memperkenalkan cara membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby. Kami akan membincangkan reka bentuk pangkalan data, logik bahagian belakang dan interaksi bahagian hadapan serta memberikan contoh kod khusus.

  1. Reka Bentuk Pangkalan Data

Pertama sekali, kita perlu mereka bentuk pangkalan data yang sesuai untuk laman web e-dagang. Kami akan menggunakan MySQL sebagai sistem pengurusan pangkalan data kami dan mentakrifkan jadual berikut:

  • Pengguna: Menyimpan maklumat asas pengguna, seperti nama pengguna, kata laluan, e-mel, dsb.
  • Produk: Menyimpan maklumat produk, seperti nama produk, harga, inventori, dsb.
  • Pesanan: Menyimpan maklumat pesanan, seperti nombor pesanan, ID pengguna, ID produk, kuantiti, dsb.

Kod untuk mencipta jadual ini dalam MySQL adalah seperti berikut:

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)
);
  1. Logik belakang

Seterusnya, kami akan menggunakan Ruby untuk melaksanakan logik belakang. Kami akan menggunakan Sinatra sebagai rangka kerja web kami dan ActiveRecord untuk berinteraksi dengan pangkalan data MySQL. Berikut ialah contoh kod hujung belakang yang mudah:

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

Dalam contoh di atas, kami telah menentukan tiga model (Pengguna, Produk dan Pesanan) untuk berinteraksi dengan pangkalan data. Kami mencipta tiga laluan untuk mengendalikan permintaan pengguna, produk dan pembuatan pesanan.

  1. Interaksi hadapan

Akhir sekali, kami akan menggunakan HTML, CSS dan JavaScript untuk melaksanakan interaksi hadapan. Berikut ialah contoh kod bahagian hadapan yang mudah:

<!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>
/* style.css */
input {
  margin-bottom: 10px;
}

button {
  margin-top: 10px;
}
// 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);
    }
  });
}

Dalam contoh di atas, kami mencipta borang mudah untuk mencipta pengguna, item dan pesanan. Apabila borang diserahkan, data dihantar ke bahagian belakang melalui permintaan Ajax dan respons dipaparkan dalam konsol.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan MySQL dan Ruby untuk membangunkan tapak web e-dagang yang ringkas. Kami membincangkan reka bentuk pangkalan data, logik bahagian belakang dan interaksi bahagian hadapan serta memberikan contoh kod konkrit. Dengan mengkaji contoh ini, anda boleh mula membangunkan tapak web e-dagang anda sendiri, memanjangkan dan menyesuaikannya mengikut keperluan. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn