Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan keranjang belanja dalam php

Bagaimana untuk melaksanakan keranjang belanja dalam php

藏色散人
Lepaskan: 2023-03-12 22:28:01
asal
6871 orang telah melayarinya

Cara melaksanakan troli beli-belah dalam PHP: 1. Letakkan halaman hujung hadapan 2. Letakkan item yang dibeli ke dalam tatasusunan satu dimensi 3. Letakkan semua tatasusunan satu dimensi ke dalam tatasusunan dua dimensi 4. Masukkan data yang sepadan ke dalam sesi.

Bagaimana untuk melaksanakan keranjang belanja dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

melaksanakan php fungsi troli beli-belah

Mula-mula susun atur muka surat hadapan seperti berikut:

<?php
 $conn=mysql_connect("localhost","root","");
 mysql_select_db("shop",$conn);
 mysql_query("set names gb2312");
 $sql="select * from produce"; //查询所有商品
 $rs=mysql_query($sql,$conn); //执行sql语句,得到一个结果集
 while($row=mysql_fetch_array($rs)) //遍历结果集
{
?>
<table width="343" height="152" border="1" style="float:left">
  <tr>
    <td width="124" rowspan="3"><img
src="images/<?php echo $row["pimg"]?>" width="123" height="121" border="0" /></td>
    <td width="203" height="35">货物名称:<?php echo $row["pname"] ?></td>
  </tr>
  <tr>
    <td height="28">货物价格:<?php echo $row["price"] ?></td>
  </tr>
  <tr>
    <td height="27" align="center"><a href="buy.php?id=<?php echo $row["pid"] ?>&pname=<?php
echo $row["pname"] ?>">购买</a></td>
  </tr>  
</table>
<?php
}
?>
Salin selepas log masuk

Lihat kesan halaman:

Bagaimana untuk melaksanakan keranjang belanja dalam php

Kami Anda boleh meletakkan item yang dibeli ke dalam tatasusunan satu dimensi, kemudian meletakkan semua tatasusunan satu dimensi ke dalam tatasusunan dua dimensi, dan akhirnya meletakkan tatasusunan dua dimensi ke dalam sesi. Tidak kira bagaimana anda mengubah suai item yang dibeli pada masa hadapan, anda boleh mengeluarkannya daripada sesi dan mengubah suainya.

<?php
session_start();//使用session之前一定要将session开启
ob_start();//要清空缓存就必须ob_start()
$pid=$_GET["id"];//得到购买物品的id
$name=$_GET["pname"];//得到购买物品的名字
$arr=$_SESSION["mycar"];//将session中的变量取出来
//下面先判断这个变量是否是数组,可以得到以前是否买过东西
if(is_array($arr)){
      //如果是数组,说明以前买过东西
      //如果买过东西又分两种情况:
      if(array_key_exists($pid,$arr)){
           //1、array_key_exists($pid,$arr)判断$arr中是否存在键值为$pid的一个一维数组,如果存在的话,就说明此商品以前购买过,只需要把数量加1
           $uu=$arr[$pid]; //从二维数组里拿出对应的一维数组,该一维数组包括id name num 三个值
           $uu["num"]=$uu["num"]+1;  //改变数量,将数量加1
           $arr[$pid]=$uu; //改完后再将此一维数组放回二维数组中
      }else{    
           //2.此商品第一次购买,就将得到的id和name值组成一个一维数组
           $arr[$pid]=array("pid"=>$pid,"name"=>$name,"num"=>1);
      }
}else{
      $arr[$pid]=array("pid"=>$pid,"name"=>$name,"num"=>1);
}
$_SESSION["mycar"]=$arr; //购买完后,将此数组重新放入session中,便可以在各个页面看到此session
ob_clean();//清空缓存
header("location:car.php");//跳转到购物车界面(car.php)
?>
Salin selepas log masuk

Kod troli beli-belah:

<?php
session_start();//启用session
$arr=$_SESSION["mycar"];//从session中拿出二维数组
?>
<form>
//下面将数组里的数据即客户所购买的物品展示出来
<table width="600" height="37" border="1">
  <tr>
    <td width="96">商品ID</td>
    <td width="158">商品名称</td>
    <td width="154">商品数量</td>
    <td width="177">删除</td>
  </tr>
<?php
//遍历这个二维数组
foreach($arr as $a){
?>
   <tr>
    <td width="96"><?php echo $a["pid"] ?></td>//物品的id
    <td width="158"><?php echo $a["name"] ?></td>//物品的名称
    <td width="154"><?php echo $a["num"] ?></td>//物品的数量
    <td width="177"><a href="delete.php?id=<?php echo $a[pid] ?>">删除</a></td>//点击删除超链接到”delete.php”,将物品的id传过去
   </tr>
<?php } ?>
</table>
</form>
<a href="index.php">返回继续购物</a>//返回到首页
Salin selepas log masuk

Kesan halaman:

Bagaimana untuk melaksanakan keranjang belanja dalam php

Apabila memadamkan produk, mula-mula dapatkan apa yang anda mahukan untuk memadam Selepas mendapat ID produk, keluarkan tatasusunan satu dimensi yang sepadan dengan ID yang diperolehi dalam tatasusunan dua dimensi, kosongkan tatasusunan satu dimensi (tidak ditetapkan()), dan kemudian letakkan semula tatasusunan dua dimensi. ke dalam session().

<?php
session_start();//启动session
ob_start();//清空缓存必须启动的项
$pid=$_GET["id"];//得到通过get方式传过来的id
$arr=$_SESSION["mycar"];//拿出session里的二维数组
foreach($arr as $key=>$proId)//遍历该二维数组中的键值,这里也就是商品的id
{
      if($key==$pid)//判断键值等于传过来的商品id
      {
           unset($arr[$key]);//清除该一维数组
      }
}
$_SESSION["mycar"]=$arr;//将清除之后的二维数组重新放到session里
ob_clean();//清除缓存
header("location:car.php");//跳转到购物车
?>
Salin selepas log masuk

Kesan pemadaman item:

Bagaimana untuk melaksanakan keranjang belanja dalam php

Fungsi troli beli-belah dilaksanakan seperti berikut: beli produk untuk mendapatkan id dan nama produk, dan Kedua-dua nilai ini ditambah kuantiti (1) dimasukkan ke dalam tatasusunan satu dimensi Satu produk ialah tatasusunan satu dimensi, jadi secara semula jadi tatasusunan dua dimensi digunakan untuk begitu banyak produk. Sebelum itu, semak dahulu sama ada produk telah dibeli sebelum ini, tambahkan satu pada kuantiti sebelumnya. Jika tidak, buat semula tatasusunan satu dimensi dan letakkan tatasusunan satu dimensi ke dalam sesi. Apabila memadam, dapatkan ID produk untuk dipadamkan, kemudian cari tatasusunan satu dimensi yang menyimpan produk daripada tatasusunan dua dimensi, kosongkan tatasusunan satu dimensi, dan kemudian masukkan tatasusunan dua dimensi ke dalam sesi. Dengan cara ini, fungsi troli beli-belah ringkas yang serupa dengan yang di atas dilaksanakan.

Ini hanyalah pelaksanaan mudah fungsi troli beli-belah

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan keranjang belanja dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan