Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan ThinkPHP untuk melaksanakan fungsi troli beli-belah

Cara menggunakan ThinkPHP untuk melaksanakan fungsi troli beli-belah

PHPz
PHPzke hadapan
2023-05-31 19:04:37706semak imbas

Pertama, kita perlu mencipta pangkalan data untuk menyimpan produk dan maklumat pesanan kita. Salin dan tampal kod SQL berikut ke dalam phpMyAdmin atau klien MySQL lain untuk mencipta pangkalan data:

CIPTA PANGKALAN DATA cart SET KARAKTER LALAI utf8 COLLATE utf8_general_ci;

Kemudian, kita perlu mencipta dua A jadual untuk menyimpan maklumat produk dan pesanan. Pernyataan SQL berikut mencipta dua jadual: "produk" dan "pesanan": CIPTA produk JADUAL ( product_id INT PRIMARY KUNCI, nama_produk VARCHAR(50), harga PERPULUHAN(10,2) ); CIPTA pesanan JADUAL ( order_id INT UTAMA KUNCI, product_id INT, tarikh_pesanan DATE, jumlah INT, KUNCI ASING (product_id) RUJUKAN produk(product_id) );

CREATE TABLE products (
 id int(11) NOT NULL AUTO_INCREMENT,
 name varchar(255) NOT NULL,
 description text NOT NULL,
 price float NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE orders (
 id int(11) NOT NULL AUTO_INCREMENT,
 user_id int(11) NOT NULL,
 product_id int(11) NOT NULL,
 quantity int(11) NOT NULL,
 created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Sekarang, kami perlu menyediakan aplikasi kami. Gunakan Composer untuk memasang rangka kerja ThinkPHP:

composer create-project topthink/think tp5 --prefer-dist

Kemudian, salin dan tampal kod berikut ke dalam tp5/application/common.php fail . Fungsi pembantu global "getCart" akan dibuat untuk mendapatkan maklumat troli beli-belah pengguna

<?php
use app\index\model\Cart;
function getCart()
{
$user_id = 1; // 此处默认用户ID为1,实际应用中应该从会话中获取用户ID
$cart = Cart::where(&#39;user_id&#39;, $user_id)->select();
return $cart;
}

Seterusnya, kita perlu mencipta model yang dipanggil "Cart" untuk mengurus item dalam troli beli-belah pengguna.

<?php
namespace app\index\model;
use think\Model;
class Cart extends Model
{
protected $table = &#39;orders&#39;;

static function add($product_id, $quantity)
{
    $user_id = 1; // 此处默认用户ID为1,实际应用中应该从会话中获取用户ID
    $order = new Cart();
    $order->user_id = $user_id;
    $order->product_id = $product_id;
    $order->quantity = $quantity;
    $order->save();
}

static function remove($id)
{
    Cart::destroy($id);
}
}

Kami kini boleh menambah atau mengalih keluar item daripada troli beli-belah dalam aplikasi dengan menggunakan model "Cart". Gunakan kod berikut untuk menambah item pada troli:

Cart::add($product_id, $quantity);

dan keluarkan item daripada troli menggunakan kod berikut:

Cart::remove($id);

Akhir sekali, kita perlu mencipta pengawal yang dipanggil "Cart" dan menambah dua kaedah: satu untuk memaparkan kandungan troli dan satu lagi untuk menambah item pada troli.

<?php
namespace app\index\controller;
use app\index\model\Cart;
class CartController extends BaseController
{
public function index()
{
    $cart = getCart();
    $this->assign(&#39;cart&#39;, $cart);
    return $this->fetch();
}

public function add()
{
    $product_id = input(&#39;post.product_id&#39;);
    $quantity = input(&#39;post.quantity&#39;);

    Cart::add($product_id, $quantity);

    $this->success(&#39;添加成功&#39;, url(&#39;index&#39;));
}
}

Setelah melengkapkan langkah di atas, kami telah berjaya mencipta aplikasi troli beli-belah yang mudah. Kini, kita boleh memaparkan kandungan troli beli-belah dengan mengakses kaedah indeks CartController, dan menambah item pada troli beli-belah dengan mengakses kaedah tambah CartController.

Atas ialah kandungan terperinci Cara menggunakan ThinkPHP untuk melaksanakan fungsi troli beli-belah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam