Rumah > rangka kerja php > ThinkPHP > teks badan

Cara menggunakan ThinkPHP untuk melaksanakan fungsi troli beli-belah

PHPz
Lepaskan: 2023-05-31 19:04:37
ke hadapan
712 orang telah melayarinya

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;
Salin selepas log masuk
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;
Salin selepas log masuk

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;
}
Salin selepas log masuk

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);
}
}
Salin selepas log masuk

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);
Salin selepas log masuk

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;));
}
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!