ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP を使用してショッピング カート機能を実装する方法
まず、製品と注文情報を保存するデータベースを作成する必要があります。次の SQL コードをコピーして phpMyAdmin または他の MySQL クライアントに貼り付けて、データベースを作成します:
CREATE DATABASE cart
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
次に、次のことが必要です。製品と注文の情報を保存する 2 つのテーブルを作成します。次の SQL ステートメントは、「products」と「orders」という 2 つのテーブルを作成します。 CREATE TABLE 製品 ( product_id INT 主キー、 製品名 VARCHAR(50)、 価格 DECIMAL(10,2) ); CREATE TABLE 注文 ( order_id INT 主キー、 製品ID INT、 order_date DATE、 INT量、 外部キー (product_id) 参照 products(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;
次に、アプリケーションを設定する必要があります。 Composer を使用して ThinkPHP フレームワークをインストールします。
composer create-project topthink/think tp5 --prefer-dist
次に、次のコードをコピーして tp5/application/common.php に貼り付けます。ファイル 。ユーザーのショッピング カート情報を取得するために、グローバル ヘルパー関数 "getCart" が作成されます。
<?php use app\index\model\Cart; function getCart() { $user_id = 1; // 此处默认用户ID为1,实际应用中应该从会话中获取用户ID $cart = Cart::where('user_id', $user_id)->select(); return $cart; }
次に、ユーザーのショッピング カート内のアイテムを管理するために、"Cart" という名前のモデルを作成する必要があります。
<?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); } }
「カート」モデルを使用して、アプリケーションのショッピング カートに商品を追加または削除できるようになりました。次のコードを使用して、カートに商品を追加します:
Cart::add($product_id, $quantity);
、カートから商品を削除するコード:
Cart::remove($id);
最後に、「Cart」というコントローラーを作成し、2 つのメソッドを追加する必要があります。1 つはカートの内容を表示するメソッド、もう 1 つはカートに商品を追加するメソッドです。
<?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')); } }
上記の手順を完了すると、簡単なショッピング カート アプリケーションが正常に作成されました。これで、CartController の Index メソッドにアクセスしてショッピング カートの内容を表示し、CartController の add メソッドにアクセスしてショッピング カートに商品を追加できるようになります。
以上がThinkPHP を使用してショッピング カート機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。