간단 한 phop 카 트 코드

10809 단어 PHP쇼핑 카 트
본 고 는 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 카 트 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기