ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用してモールの価格保護機能を実装する方法

PHPを使用してモールの価格保護機能を実装する方法

王林
王林オリジナル
2023-05-22 20:31:34700ブラウズ

電子商取引市場の継続的な発展に伴い、販売者は、より多くの顧客を引き付け、売上を増やすために、モールの Web サイトでいくつかの優遇アクティビティを提供することがよくあります。一般的なオファーには、割引、ギフト、値下げが含まれます。その中で、価格保護は一般的な優遇手段であり、その主な機能は、買い手が購入した商品の価格が一定期間内に下落しないようにすることです。この記事では、PHPを使用してモールの価格保護機能を実装する方法を紹介します。

  1. データベース テーブルの設計

MySQL データベースに「price_protection」という名前のテーブルを作成します。このテーブルには、次のフィールドが含まれます:

  • id ​​INT (11): 主キー、自己増加
  • product_id INT(11): 製品 ID
  • old_price FLOAT(10,2): 最終価格
  • new_price FLOAT(10) ,2): 新しい価格
  • start_time DATETIME: 価格保護開始時刻
  • end_time DATETIME: 価格保護終了時刻
  1. 価格保護関数の実装

モール Web サイトの商品詳細ページに、「価格保護」ボタンを追加します。ユーザーがボタンをクリックするたびに、ユーザーが購入したアイテム ID に基づいてデータベースから価格情報を取得する PHP スクリプトがトリガーされます。

「end_time」フィールドに保存されているタイムスタンプが期限切れの場合は古い価格を返し、それ以外の場合は新しい価格を返します。古い価格が空の場合は、現在の価格に設定されます。価格が下がった場合は、古い価格を更新し、新しい価格を古い価格に設定します。価格が下落していない場合は、価格保護期間のみが更新されます。

この機能を実装するための PHP スクリプトのサンプル コードは次のとおりです。

<?php
$mysqli = new mysqli('localhost', 'username', 'password', 'your_database');
$productId = $_GET['product_id'];
$currentTime = date('Y-m-d H:i:s');
$sql = "SELECT * FROM price_protection WHERE product_id='$productId' AND end_time>'$currentTime'";
$result = $mysqli -> query($sql);

if ($result -> num_rows == 0) { //如果没有价格保护记录,则返回商品原有价格
    $sql = "SELECT price FROM products WHERE id='$productId'";
    $result = $mysqli -> query($sql);
    $row = $result -> fetch_assoc();
    echo $row['price'];
} else { //如果存在价格保护记录,则返回价格保护的价格
    $row = $result -> fetch_assoc();
    if ($row['old_price'] == null) {
        $row['old_price'] = $row['new_price'];
        $sql = "UPDATE price_protection SET old_price=".$row['old_price']." WHERE id=".$row['id'];
        $mysqli -> query($sql);
    }

    echo $row['old_price'];
    if ($row['new_price'] < $row['old_price']) {
        $sql = "UPDATE price_protection SET old_price=".$row['new_price'].", new_price=".$row['new_price']." WHERE id=".$row['id'];
        $mysqli -> query($sql);
    } else {
        $sql = "UPDATE price_protection SET start_time='$currentTime', end_time=DATE_ADD('$currentTime', INTERVAL 7 DAY) WHERE id=".$row['id'];
        $mysqli -> query($sql);
    }
}
?>
  1. フロントエンド実装

製品詳細の JavaScript コード内ページ、価格を保護する ボタンがページに追加され、クリックされるとサーバーに現在の価格を要求します。この価格は商品ページの価格の右側に表示され、価格保護アイコンが付けられます。

価格保護機能を実装するための JavaScript サンプル コードは次のとおりです:

$(document).ready(function() {
    $.ajax({
        url: 'get_price.php',
        dataType: 'json',
        success: function(data) {
            if (data.success) {
               $('#price').html('<span class="old-price">¥ '+data.data.old_price+'</span>¥ '+data.data.new_price+'<i class="icon-price-protection"></i>');
            } else {
               $('#price').html('<span>¥ '+data.data.price+'</span><i class="icon-price-protection"></i>');
            }
        }
    });
});
  1. 概要

この記事では、PHP を使用して価格を実装する方法を紹介します。モール内の保護機能。具体的な実装方法をデータベース設計、スクリプト実装、フロントエンド実装などの側面から解説します。この記事が開発者に役立ち、モールの割引機能を実装し、購入者により良いショッピング体験を提供できることを願っています。

以上がPHPを使用してモールの価格保護機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。