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('user_id', $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 = 'orders'; 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('cart', $cart); return $this->fetch(); } public function add() { $product_id = input('post.product_id'); $quantity = input('post.quantity'); Cart::add($product_id, $quantity); $this->success('添加成功', url('index')); } }
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!