Maison > cadre php > PensezPHP > le corps du texte

Comment utiliser ThinkPHP pour implémenter une fonction de panier d'achat

PHPz
Libérer: 2023-05-31 19:04:37
avant
711 Les gens l'ont consulté

Tout d'abord, nous devons créer une base de données pour stocker nos produits et les informations de commande. Copiez et collez le code SQL suivant dans phpMyAdmin ou d'autres clients MySQL pour créer la base de données :

CREATE DATABASE cart DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

Ensuite, nous devons créer deux tables pour stocker les informations sur les produits et les commandes. Les instructions SQL suivantes créent deux tables : "produits" et "commandes" : Produits CRÉER UNE TABLE ( product_id INT CLÉ PRIMAIRE, nom_produit VARCHAR(50), prix DÉCIMAL(10,2) ); Commandes CREATE TABLE ( order_id INT CLÉ PRIMAIRE, id_produit INT, date_de-commande DATE, montant INT, CLÉ ÉTRANGÈRE (product_id) RÉFÉRENCES 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;
Copier après la connexion
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;
Copier après la connexion

Maintenant, nous devons configurer notre application. Utilisez Composer pour installer le framework ThinkPHP :

composer create-project topthink/think tp5 --prefer-dist

Ensuite, copiez et collez le code suivant dans le fichier tp5/application/common.php. La fonction d'assistance globale "getCart" sera créée pour obtenir les informations sur le panier de l'utilisateur

<?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;
}
Copier après la connexion

Ensuite, nous devons créer un modèle appelé "Cart" pour gérer les articles dans le panier de l'utilisateur.

<?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);
}
}
Copier après la connexion

Nous sommes désormais en mesure d'ajouter ou de supprimer des articles du panier dans l'application en utilisant le modèle "Panier". Utilisez le code suivant pour ajouter un article au panier :

Cart::add($product_id, $quantity);
Copier après la connexion

Et le code pour supprimer un article du panier est le suivant :

Cart::remove($id);

Enfin, nous devons créer un panier appelé contrôleur « Cart » et ajoutez deux méthodes : une pour afficher le contenu du panier et une autre pour ajouter des articles au panier.

<?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;));
}
}
Copier après la connexion

Après avoir terminé les étapes ci-dessus, nous avons créé avec succès une application simple de panier d'achat. Désormais, nous pouvons afficher le contenu du panier en accédant à la méthode index de CartController et ajouter des articles au panier en accédant à la méthode add de CartController.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!