ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP を使用してショッピング カート機能を実装する方法

ThinkPHP を使用してショッピング カート機能を実装する方法

PHPz
PHPz転載
2023-05-31 19:04:37706ブラウズ

まず、製品と注文情報を保存するデータベースを作成する必要があります。次の 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(&#39;user_id&#39;, $user_id)->select();
return $cart;
}

次に、ユーザーのショッピング カート内のアイテムを管理するために、"Cart" という名前のモデルを作成する必要があります。

<?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);
}
}

「カート」モデルを使用して、アプリケーションのショッピング カートに商品を追加または削除できるようになりました。次のコードを使用して、カートに商品を追加します:

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(&#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;));
}
}

上記の手順を完了すると、簡単なショッピング カート アプリケーションが正常に作成されました。これで、CartController の Index メソッドにアクセスしてショッピング カートの内容を表示し、CartController の add メソッドにアクセスしてショッピング カートに商品を追加できるようになります。

以上がThinkPHP を使用してショッピング カート機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。