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

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

May 31, 2023 pm 07:04 PM
thinkphp

먼저, 제품 및 주문 정보를 저장할 데이터베이스를 만들어야 합니다. 다음 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('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" 컨트롤러를 호출하고 두 가지 메서드를 추가합니다. 하나는 카트 내용을 표시하는 것이고 다른 하나는 카트에 항목을 추가하는 것입니다.

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

thinkphp 프로젝트를 실행하는 방법 thinkphp 프로젝트를 실행하는 방법 Apr 09, 2024 pm 05:33 PM

thinkphp 프로젝트를 실행하는 방법

thinkphp에는 여러 버전이 있습니다. thinkphp에는 여러 버전이 있습니다. Apr 09, 2024 pm 06:09 PM

thinkphp에는 여러 버전이 있습니다.

thinkphp를 실행하는 방법 thinkphp를 실행하는 방법 Apr 09, 2024 pm 05:39 PM

thinkphp를 실행하는 방법

thinkphp를 설치하는 방법 thinkphp를 설치하는 방법 Apr 09, 2024 pm 05:42 PM

thinkphp를 설치하는 방법

laravel과 thinkphp 중 어느 것이 더 낫나요? laravel과 thinkphp 중 어느 것이 더 낫나요? Apr 09, 2024 pm 03:18 PM

laravel과 thinkphp 중 어느 것이 더 낫나요?

개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법 개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법 Nov 22, 2023 pm 12:01 PM

개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법

ThinkPHP6 데이터 암호화 및 암호 해독: 민감한 데이터 보안 보호 ThinkPHP6 데이터 암호화 및 암호 해독: 민감한 데이터 보안 보호 Aug 25, 2023 pm 10:52 PM

ThinkPHP6 데이터 암호화 및 암호 해독: 민감한 데이터 보안 보호

thinkphp 성능은 어떤가요? thinkphp 성능은 어떤가요? Apr 09, 2024 pm 05:24 PM

thinkphp 성능은 어떤가요?

See all articles