간단 한 phop 카 트 코드
여기 서 우 리 는 당신 에 게 간단 한 phop 카 트 코드 를 제공 합 니 다.쇼핑 제품 을 증가 하고 구 매 를 발생 시 켰 습 니 다.쇼핑 몰 개발 에서 이 기능 은 빠 질 수 없습니다.
구체 적 인 분석 은 다음 과 같다.
카 트 안의 상품 에 대한 조작 은 대체적으로 다음 과 같은 몇 가지 가 있다.상품 을 추가 하고 상품 을 삭제 하 며 주문 서 를 제출 하 는 것 이다.
방법 본질은 session 을 array 에 저장 하고 array 를 증가,삭제,수정 작업 을 하 는 것 이다.array 의 모든 기록 은 하나의 상품 의 정보(개 수,가격 등)이다.
카 트 를 해결 하 는 방향 은 session 으로 2 차원 배열 을 기록 하 는 것 이다.1 차원 은 모든 상품 을 대표 하고 2 차원 은 상품 의 id,상품 의 수량 을 포함 합 니 다.
카 트 의 운영 절차:먼저 사이트 에 접속 하여 상품 을 조회 합 니 다.그 다음 에 지 정 된 상품 을 구 매 하여 카 트 페이지 에 들 어가 면 이 페이지 에서 상품 수량 변경,상품 삭제,카 트 비우 기,계속 쇼핑 등 을 실현 할 수 있다.마지막 으로 주문 서 를 생 성하 고 주문 서 를 제출 하 는 등 작업 을 한다.
강력 한 주석 보기;
먼저 로그 인하 기;
<body>
<h1> </h1>
<form action="dengrucl.php" method="post">
<div> :<input type="text" name="zhang"/></div>
<div> :<input type="text" name="mi"/></div>
<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> </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" rel="external nofollow" rel="external nofollow" > </a>
<a href="ckgwc.php" rel="external nofollow" > </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> </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" rel="external nofollow" rel="external nofollow" > </a>
</body>
위의 그림:큰 사과 의 수량 이 4 인 것 을 볼 수 있 습 니 다.만약 에 제 가 삭제 하면 그 조건 은 큰 사과 가 존재 하고 수량 이 1 보다 많 습 니 다.삭 제 를 클릭 하여 수량 을 1 로 줄 이 는 것 입 니 다.
백포 도의 수량 은 1 이다.만약 에 내 가 삭 제 를 클릭 하면 그 조건 은 수량 이 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.주문 추가:
3.주문 내용 추가:
4.구매자 의 계좌 잔액 공제:
이상 이 바로 카 트 콘 텐 츠 입 니 다.
이상 은 간단 한 php 카 트 코드 의 상세 한 내용 입 니 다.더 많은 PHP 카 트 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.