PHP 장바구니 기능을 구현하는 방법
PHP 장바구니 기능 구현 방법: 먼저 웹사이트에 로그인하여 제품을 검색한 다음 지정된 제품을 구매한 다음 장바구니 페이지에 들어가 제품 수를 변경하고, 제품을 삭제하고, 쇼핑을 취소할 수 있습니다. 장바구니, 계속 쇼핑 등 마지막으로 주문 생성, 주문 제출 및 기타 작업을 수행할 수 있습니다.
추천: "PHP 비디오 튜토리얼"
PHP에서 구현된 장바구니 코드와 아이디어를 소개합니다. 기능은 완전하며 특정 참조 값을 갖습니다.
여기에서는 쇼핑 제품 추가부터 구매까지 간단한 PHP 장바구니 코드를 제공합니다. 이 기능은 쇼핑몰 개발에 없어서는 안될 기능입니다.
구체적인 분석은 다음과 같습니다.
1. 장바구니에 담긴 상품에 대한 작업은 일반적으로 다음과 같습니다.
상품 추가, 상품 삭제, 주문 제출
2. 방법은 다음과 같습니다.
배열에 세션을 저장하고 배열의 각 레코드 세트는 제품에 대한 정보(번호, 가격 등)입니다. 장바구니를 해결하는 방법은 세션을 사용하여 2차원 배열을 기록하는 것입니다
.1차원은 각 제품을 나타내며, 2차원에는 제품 ID, 제품 수량 등이 포함됩니다. 어쨌든 2차원적으로 원하는 만큼 제품 속성을 추가할 수 있습니다.
4. 장바구니 운영 과정:
먼저 웹사이트에 로그인하여 제품을 검색한 다음, 지정된 제품을 구매하고 제품 수량을 변경할 수 있는 장바구니 페이지로 들어갑니다. , 제품 삭제, 장바구니 지우기, 쇼핑 계속 등 마지막으로 주문 생성, 주문 제출 및 기타 작업.
자세한 내용은 강력한 댓글을 참조하세요. 로그인을 먼저 하세요.<body> <h1 id="登入页面">登入页面</h1> <form action="dengrucl.php" method="post"> <p>帐号:<input type="text" name="zhang"/></p> <p>密码:<input type="text" name="mi"/></p> <input type="submit" value="登入"/> </form> </body>复制代码
로그인 처리:
<?php session_start(); include ("db.class.php");$db = new db();$zhang = $_POST["zhang"];$mi = $_POST["mi"];$sql = "select mi from yonghu WHERE zhang = '{$zhang}'";$arr = $db->Query($sql);if(!empty($zhang)&&!empty($mi)&&$mi = $arr){ $_SESSION["zhang"] = $zhang; header("location:zym.php"); }else{ echo "登入失败"; } ?>复制代码
아주 간단한 로그인입니다.
<body> <h1 id="长腿璇购物商城">长腿璇购物商城</h1> <table border="1" cellpadding="0" cellspacing="0" width="100%" > <tr> <td>代号</td> <td>水果名称</td> <td>水果价格</td> <td>水果产地</td> <td>水果库存</td> <td>操作</td> </tr>复制代码
<?php session_start();$_SESSION["zhang"] = "xiaoming";//不做登入的情况下,直接存sessiion include ("db.class.php"); $db = new db(); $sql = "select * from sgbiao"; $arr = $db->Query($sql); foreach ($arr as $v) { echo " <tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td> <a href='zymcl.php?ids={$v[0]}'>加入购物车</a> </td> </tr>"; } ?> <?php //这里显示的是 购物车有多少产品,和产品的总价格 $ann=array(); if(!empty($_SESSION["gwc"])) { $ann=$_SESSION["gwc"]; } $zhonglei = count($ann); $aa=0; foreach($ann as $k) { $k[0];//水果代号 $k[1];//水果数量 $sql1="select jiage from sgbiao where ids='{$k[0]}'"; $danjia=$db->Query($sql1); foreach($danjia as $n) { $aa=$aa + $n[0]*$k[1]; } } echo"数量:{$zhonglei}<br/> 价格:<mark>{$aa}元"; ?> 复制代码 复制代码 </table> <a href="tijiao.php">查看账户</a> <a href="ckgwc.php">查看购物车</a> </body>复制代码
장바구니에 추가를 클릭하면:
위의 수량과 가격이 변경되어 장바구니에 추가되었음을 나타냅니다.
방법을 살펴보겠습니다. 처리됩니다(강력한 주석):
<?php session_start(); //$ids = $_GET["ids"];if(empty($_SESSION["gwc"])) { //如果点击的购物车是空的(第一次添加) //如果购物车里是空的,造二维数组, $arr = array( array($ids,1) //一维数组,取ids,第一次点击增加一个 ); $_SESSION["gwc"]=$arr; //扔到session里面 }else //这里不是第一次点击 { //先判断购物车里是否已经有了该商品,用$ids $arr = $_SESSION["gwc"]; //把购物车的状态取出来 $chuxian = false; //定义一个变量;用来表示是否出现,默认是未出现 foreach ($arr as $v) { //便利他 //如果这里面有这件商品 if ($v[0] == $ids) //如果取过来的$v[0](商品的代号)等于$ids那么就证明购物车中已经有了这一件商品 { $chuxian = true; //如果出现,直接把chuxian改成true } } if($chuxian) { //购物车中有此商品 for($i=0;$i<count($arr);$i++) { if($arr[$i][0] == $ids) { //把点到的商品编号加1 $arr[$i][1] += 1; } } $_SESSION["gwc"] = $arr; } else { //这里就只剩下:购物车里有东西,但是并没有这件商品 $asg = array($ids,1); //设一个小数组 $arr[] = $asg; $_SESSION["gwc"]=$arr; } } header("location:zym.php") ?>复制代码
<body> <h1 id="查看购物车">查看购物车</h1> <table width="100%" border="1"cellspacing="0" cellpadding="0"> <tr> <td>商品名称</td> <td>商品单价</td> <td>商品数量</td> <td>操作</td> </tr>复制代码
<?php session_start(); if(!empty($_SESSION["gwc"])) { $arr = array(); $arr = $_SESSION["gwc"]; //造数组 } include ('db.class.php'); $db = new db(); foreach ($arr as $v) { global $db; $sql = "select * from sgbiao WHERE ids = '{$v[0]}'"; $att = $db->query($sql); foreach ($att as $a) { echo "<tr> <td>{$a[1]}</td> <td>{$a[2]}</td> <td>{$v[1]}</td> <td><a href='shanchu.php?ids={$a[0]}'>删除</a> </td> </tr> "; // 蔬果的名称 // 单价 // 取int数量 // 这个地方也可以加索引shanchu.php?sy={$v} } } ?> </table> <a href="tijiao.php">提交订单</a> </body>复制代码
큰 사과의 개수가 4개임을 알 수 있습니다. 삭제를 클릭하면 조건이 큰 사과 사과가 있고 숫자가 1보다 크다면 삭제를 클릭하여 숫자를 하나씩 줄이세요.
<?php session_start();$ids = $_GET["ids"];$arr = $_SESSION["gwc"]; //var_dump($arr); //取索引2(数量) foreach ($arr as $key=>$v) { if($v[0]==$ids) { if($v[1]>1){ //要删除的数据 $arr[$key][1]-=1; } else{ //数量为1的情况下,移除该数组 unset($arr[$key]); } } }$_SESSION["gwc"] = $arr; //记得扔到session里面 header("location:ckgwc.php"); //删除完跳转回去复制代码
<?php session_start(); include ("db.class.php");$db = new db(); //判断用余额是否满足$zhang = $_SESSION["zhang"]; //获取到用户名$sye = "select zhanghu from yonghu WHERE zhang = '{$zhang}'";$ye = $db->query($sye);$ye[0][0];//这是余额$ann=array();if(!empty($_SESSION["gwc"])) { $ann=$_SESSION["gwc"]; }$zhonglei = count($ann);$aa=0;//总价格 foreach($ann as $k) { $k[0];//水果代号 $k[1];//水果数量 $sql1="select jiage from sgbiao where ids='{$k[0]}'"; $danjia=$db->Query($sql1); foreach($danjia as $n) { $aa=$aa + $n[0]*$k[1]; } } //判断余额是否满足if($ye[0][0]>=$aa) { //钱够,判断库存 foreach($ann as $v) { $skc = "select sgname,kucun from sgbiao WHERE ids='{$v[0]}'"; //水果代号$v[0] $akc = $db->query($skc); $akc[0][1];//库存 //比较是否满足库存 if($akc[0][1]<$v[1]) { echo "{$akc[0][0]}库存不足"; //退出 exit; } } //提交订单: //i. 从用户账户中扣除本次购买的总价格 //ii. 从商品库存中扣除本次每种商品的购买数量 //iii. 向订单表和订单内容表中加入本次购买的商品信息 //扣除账户余额$skcye = "update yonghu set zhanghu = zhanghu-{$aa} WHERE zhang = '{$zhang}'"; $db->query($skcye,0); //扣除库存 foreach($ann as $v) { $skckc = "update sgbiao set kucun = kucun-{$v[1]} WHERE ids='{$v[0]}'"; //水果代号$v[0] $db->query($skckc,0); } //添加订单信息 //取当前时间 $time = time(); //自动生成订单号 $ddh = date("YmdHis"); $sdd = "insert into dingdan VALUES ('{$ddh}','$zhang','$time')"; $db->query($sdd,0); //添加订单内容 foreach ($ann as $v) { $sddxq = "insert into ddneirong VALUES ('','$ddh','{$v[0]}','{$v[1]}')"; $db->query($sddxq,0); } }else{ echo "钱不够"; exit; }复制代码
1. 과일 재고 감소:
2. 주문 추가:
위 내용은 PHP 장바구니 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
