>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 쇼핑몰의 가격 보호 기능을 구현하는 방법

PHP를 사용하여 쇼핑몰의 가격 보호 기능을 구현하는 방법

王林
王林원래의
2023-05-22 20:31:34702검색

전자상거래 시장이 지속적으로 발전함에 따라 판매자는 더 많은 고객을 유치하고 매출을 늘리기 위해 쇼핑몰 웹사이트에서 할인을 제공하는 경우가 많습니다. 일반적인 제안에는 할인, 선물 및 가격 인하가 포함됩니다. 그 중 가격 보호는 일반적인 우대 수단으로, 그 주요 기능은 구매자가 구매한 상품의 가격이 일정 기간 내에 하락하지 않도록 보장하는 것입니다. 이번 글에서는 PHP를 활용하여 쇼핑몰의 가격 보호 기능을 구현하는 방법을 소개하겠습니다.

  1. 데이터베이스 테이블 디자인

다음 필드를 포함하는 MySQL 데이터베이스에 "price_protection"이라는 테이블을 만듭니다.

  • id INT(11): 기본 키, 자동 증가
  • product_id INT(11): product ID
  • old_price FLOAT(10,2): 종가
  • new_price FLOAT(10,2): 신가
  • start_time DATETIME: 가격 보호 시작 시간
  • end_time DATETIME: 가격 보호 종료 시간
  1. 실현 가격 보호 기능

쇼핑몰 홈페이지 상품 상세 페이지에 "가격 보호" 버튼을 추가하세요. 사용자가 버튼을 클릭할 때마다 사용자가 구매한 품목 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. Summary

이 글에서는 PHP를 사용하여 쇼핑몰의 가격 보호 기능을 구현하는 방법을 소개합니다. 데이터베이스 설계, 스크립트 구현, 프론트 엔드 구현 등의 측면에서 구체적인 구현 방법이 제공됩니다. 이 글이 개발자에게 도움이 되고, 쇼핑몰의 할인 기능을 구현하고, 구매자에게 더 나은 쇼핑 경험을 제공할 수 있기를 바랍니다.

위 내용은 PHP를 사용하여 쇼핑몰의 가격 보호 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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