Heim >PHP-Framework >Denken Sie an PHP >So implementieren Sie mit ThinkPHP eine Warenkorbfunktion

So implementieren Sie mit ThinkPHP eine Warenkorbfunktion

PHPz
PHPznach vorne
2023-05-31 19:04:37737Durchsuche

Zuerst müssen wir eine Datenbank erstellen, um unsere Produkte und Bestellinformationen zu speichern. Kopieren Sie den folgenden SQL-Code und fügen Sie ihn in phpMyAdmin oder andere MySQL-Clients ein, um die Datenbank zu erstellen:

CREATE DATABASE cart DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Dann müssen wir zwei Tabellen erstellen, um Produkt- und Bestellinformationen zu speichern. Die folgenden SQL-Anweisungen erstellen zwei Tabellen: „products“ und „orders“: TABELLE ERSTELLEN Produkte ( produkt_id INT PRIMÄRSCHLÜSSEL, Produktname VARCHAR(50), Preis DECIMAL(10,2) ); TISCHBestellungen ERSTELLEN ( order_id INT PRIMARY KEY, Produkt_ID INT, order_date DATUM, Betrag INT, AUSLÄNDISCHER SCHLÜSSEL (Produkt-ID) REFERENZEN Produkte (Produkt-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;

Jetzt müssen wir unsere Anwendung einrichten. Verwenden Sie Composer, um das ThinkPHP-Framework zu installieren:

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

Kopieren Sie dann den folgenden Code und fügen Sie ihn in die Datei tp5/application/common.php ein. Die globale Hilfsfunktion „getCart“ wird erstellt, um Informationen zum Warenkorb des Benutzers abzurufen

<?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;
}

Als nächstes müssen wir ein Modell namens „Cart“ erstellen, um die Artikel im Warenkorb des Benutzers zu verwalten.

<?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);
}
}

Mit dem „Warenkorb“-Modell können wir jetzt in der Anwendung Artikel zum Warenkorb hinzufügen oder daraus entfernen. Verwenden Sie den folgenden Code, um einen Artikel zum Warenkorb hinzuzufügen:

Cart::add($product_id, $quantity);

Und der Code zum Entfernen eines Artikels aus dem Warenkorb lautet wie folgt:

Cart::remove($id);

Zuletzt müssen wir einen Warenkorb erstellen namens „Cart“-Controller und fügt zwei Methoden hinzu: eine zum Anzeigen des Warenkorbinhalts und eine andere zum Hinzufügen von Artikeln zum Warenkorb.

<?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;));
}
}

Nach Abschluss der oben genannten Schritte haben wir erfolgreich eine einfache Warenkorbanwendung erstellt. Jetzt können wir den Inhalt des Warenkorbs anzeigen, indem wir auf die Indexmethode von CartController zugreifen, und Artikel zum Warenkorb hinzufügen, indem wir auf die Add-Methode von CartController zugreifen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie mit ThinkPHP eine Warenkorbfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen