먼저, 제품 및 주문 정보를 저장할 데이터베이스를 만들어야 합니다. 다음 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!