So implementieren Sie den Warenkorb in PHP: 1. Gestalten Sie die Frontend-Seite. 2. Fügen Sie den gekauften Artikel in ein eindimensionales Array ein. 3. Fügen Sie alle eindimensionalen Arrays in ein zweidimensionales Array ein . Fügen Sie die entsprechenden Daten in die Sitzung ein.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php implementiert die Warenkorbfunktion
Layen Sie zunächst das Front-End-Seitenlayout wie folgt:
<?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 } ?>
Seite anzeigen Effekt:
Wir können den gekauften Artikel in ein eindimensionales Array einfügen, dann alle eindimensionalen Arrays in ein zweidimensionales Array einfügen und schließlich das zweidimensionale Array in das einfügen Sitzung. Unabhängig davon, wie Sie die gekauften Artikel in Zukunft ändern, können Sie sie aus der Sitzung herausnehmen und ändern.
<?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) ?>
Warenkorbcode:
<?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>//返回到首页
Seiteneffekt:
Wenn Sie ein Produkt löschen, rufen Sie zunächst die ID des zu löschenden Produkts ab und entnehmen Sie dann das der ID entsprechende eindimensionale Array Löschen Sie im zweidimensionalen Array das eindimensionale Array (unset()) und fügen Sie es dann wieder in session() ein.
<?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");//跳转到购物车 ?>
Der Effekt des Löschens eines Elements:
The Die Funktion des Warenkorbs wird folgendermaßen implementiert: Kaufen Sie ein Produkt, um die ID und den Namen des Produkts zu erhalten, fügen Sie diese beiden Werte plus eine Menge (1) hinzu und fügen Sie es in ein eindimensionales Array ein Da es sich um ein eindimensionales Array handelt, müssen viele Produkte natürlich ein zweidimensionales Array verwenden. Überprüfen Sie vorher, ob das Produkt bereits gekauft wurde. Wenn ja, erstellen Sie ein eindimensionales Array neu und fügen Sie es schließlich in ein zweidimensionales Array ein in die Sitzung. Rufen Sie beim Löschen die ID des zu löschenden Produkts ab, suchen Sie dann das eindimensionale Array, in dem das Produkt gespeichert ist, aus dem zweidimensionalen Array, löschen Sie das eindimensionale Array und fügen Sie dann das zweidimensionale Array in die Sitzung ein. Auf diese Weise wird eine einfache Warenkorbfunktion ähnlich der oben beschriebenen implementiert.
Dies ist nur eine einfache Implementierung der Warenkorbfunktion
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Warenkorb in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!