>  기사  >  백엔드 개발  >  간단한 PHP 장바구니 코드 구현

간단한 PHP 장바구니 코드 구현

coldplay.xixi
coldplay.xixi앞으로
2020-07-17 17:12:374524검색

간단한 PHP 장바구니 코드 구현

쇼핑 상품 추가부터 구매까지 간단한 PHP 장바구니 코드를 제공합니다. 쇼핑몰 개발에서 이 기능은 필수입니다.

구체적인 분석은 다음과 같습니다.

장바구니에 담긴 품목에 대해 작업에는 일반적으로 제품 추가, 제품 삭제 및 주문 제출이 포함됩니다.

메서드의 핵심은 배열에 세션을 저장하고 배열의 각 레코드 집합을 수정하는 것입니다. 상품 정보(개수, 가격 등)

장바구니를 해결한다는 아이디어는 세션을 사용하여 2차원 배열을 기록하는 것입니다. 하나의 차원은 각 제품을 나타내며, 두 개의 차원에는 제품 ID, 제품 수량 등이 포함됩니다. 어쨌든 2차원적으로 원하는 만큼 추가할 수 있습니다.

장바구니 작동 과정: 먼저 웹사이트에 로그인하여 제품을 찾아본 다음, 지정된 제품을 구매하고 장바구니 페이지에 들어가 제품 수량을 변경하고, 제품을 삭제하고, 삭제할 수 있습니다. 장바구니, 쇼핑 계속 등 마지막으로 주문 생성, 주문 제출 및 기타 작업. intrated 학습 권장 사항 : Entry에서 Mas 하나 로그인, 할 말 없음

로그인한 후 그는 메인 페이지로 바로 이동했습니다:

<body>
<h1>登入页面</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 = &#39;{$zhang}&#39;";
$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=&#39;zymcl.php?ids={$v[0]}&#39;>加入购物车</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=&#39;{$k[0]}&#39;";

    $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>

위 사진:

볼 수 있습니다. 삭제를 클릭하면 조건은 큰 사과가 있고, 숫자가 1보다 크다는 것입니다. 삭제를 클릭하면 숫자가 하나씩 줄어듭니다.

백포도의 개수는 1입니다. 삭제를 클릭하면 숫자가 1보다 크지 않아 제거 배열이 됩니다.

삭제 페이지를 살펴보겠습니다.

<?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 (&#39;db.class.php&#39;);
  $db = new db();
  foreach ($arr as $v)
  {
    global $db;
    $sql = "select * from sgbiao WHERE ids = &#39;{$v[0]}&#39;";
    $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=&#39;shanchu.php?ids={$a[0]}&#39;>删除</a> </td>
  </tr> ";
//      蔬果的名称
//      单价
//      取int数量
//    这个地方也可以加索引shanchu.php?sy={$v}
    }
  }
  ?>

</table>

<a href="tijiao.php" rel="external nofollow" rel="external nofollow" >提交订单</a>
</body>

이렇게 해서 장바구니의 기본 기능이 구현되었습니다. 살펴보기 주문 제출 클릭 후 효과:

2. 주문 추가:

3. 구매자 계좌 잔액 :

위 장바구니 내용입니다

위 내용은 간단한 PHP 장바구니 코드 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제