>  기사  >  PHP 프레임워크  >  ThinkPHP를 사용하여 장바구니 기능을 구현하는 방법

ThinkPHP를 사용하여 장바구니 기능을 구현하는 방법

PHPz
PHPz앞으로
2023-05-31 19:04:37703검색

먼저, 제품 및 주문 정보를 저장할 데이터베이스를 만들어야 합니다. 다음 SQL 코드를 phpMyAdmin 또는 다른 MySQL 클라이언트에 복사하여 붙여넣어 데이터베이스를 만듭니다.

CREATE DATABASE cart DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 그런 다음 제품 및 주문 정보를 저장할 두 개의 테이블을 만들어야 합니다. 다음 SQL 문은 "products"와 "orders"라는 두 개의 테이블을 생성합니다. CREATE TABLE 제품( product_id INT 기본 키, 제품_이름 VARCHAR(50), 가격 십진수(10,2) ); CREATE TABLE 주문( order_id INT 기본 키, 제품_ID INT, 주문_날짜 DATE, 금액 INT, FOREIGN KEY (product_id) REFERENCES 제품(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" 컨트롤러를 호출하고 두 가지 메서드를 추가합니다. 하나는 카트 내용을 표시하는 것이고 다른 하나는 카트에 항목을 추가하는 것입니다.

<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제