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

PHPz
풀어 주다: 2023-05-31 19:04:37
앞으로
711명이 탐색했습니다.

먼저, 제품 및 주문 정보를 저장할 데이터베이스를 만들어야 합니다. 다음 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!