Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Tutorial: Cookies und Arrays kombinieren, um einen Warenkorb zu implementieren

PHP-Tutorial: Cookies und Arrays kombinieren, um einen Warenkorb zu implementieren

黄舟
Freigeben: 2023-03-04 08:32:01
Original
1114 Leute haben es durchsucht

Ich habe festgestellt, dass die von vielen Funktionen in PHP erhaltenen Ergebnisse durch Arrays angegeben werden. Die am häufigsten verwendete ist mysql_fetch_array(). Enthält die erhaltenen String-Informationen, um ein Array zu generieren und das Array dann in einen String zu zerlegen Ich habe noch nie eine Implementierung wie einen Einkaufswagen geschrieben und eine Woche lang darüber nachgedacht (Ich darf als Anfänger arrogant sein) Autohändler.
Und weil ich den Kurs noch nie besucht habe, konzentriere ich mich immer noch auf den Prozess.

Das Wesentliche der von mir verwendeten Methode ist: Speichern Sie das Cookie im Array, fügen Sie das Array hinzu, löschen Sie es und ändern Sie es. Jeder Satz von Datensätzen im Array enthält Informationen über ein Produkt (Anzahl, Preis usw.). )



Die Idee zum Lösen des Warenkorbs besteht darin, mithilfe von Cookies ein zweidimensionales Array aufzuzeichnen. Eine Dimension repräsentiert jedes Produkt und zwei Dimensionen umfassen die Produkt-ID, die Menge des Produkts usw. Sie können es selbst hinzufügen. Es ist jedoch zweidimensional. Sie können so viele Produktattribute hinzufügen, wie Sie möchten.

Die Vorgänge für Artikel im Warenkorb umfassen im Allgemeinen Folgendes: Hinzufügen von Artikeln, Ändern der Artikelmenge, Löschen von Artikeln und Leeren des Warenkorbs.
Diese Vorgänge gelten alle für Cookies. Jedes Mal wird das Array im Cookie herausgenommen, hinzugefügt, geändert, gelöscht und dann im Cookie aufgezeichnet. Das Leeren des Warenkorbs ist noch einfacher. Setzen Sie einfach das gleichnamige Cookie auf leer.

Das Folgende ist die spezifische Betriebsfunktion, die ich geschrieben habe

//Zum Warenkorb hinzufügen
function addcart($goods_id,$goods_num){

$cur_cart_array = unserialize(stripslashes($_COOKIE['shop_cart_info']));
if($ cur_cart_array==""){

$cart_info[0][] = $goods_id;
$cart_info[0][] = $goods_num;

setcookie("shop_cart_info", serialize($cart_info));

}elseif($cur_cart_array<>""){

//Gib den Array-Schlüsselnamen in umgekehrter Reihenfolge zurück und nimm den größten
$ ar_keys = array_keys($cur_cart_array );
rsort($ar_keys);
$max_array_keyid = $ar_keys[0]+1;

//Durchlaufe das aktuelle Warenkorb-Array
Durchlaufen Sie den 0-Wert jedes Produktinformationsarrays. Wenn der Schlüsselwert 0 ist und die Artikelnummer gleich ist, ist derselbe Artikel im Warenkorb vorhanden
foreach($cur_cart_array as $goods_current_cart){
foreach($goods_current_cart as $key=>$goods_current_id){
if($key == 0 and $goods_current_id == $goods_id){
echo ""; 🎜> }
}

$cur_cart_array [$max_array_keyid][] = $goods_id;
$cur_cart_array[$max_array_keyid][] = $goods_num;

setcookie("shop_cart_info ",serialize($cur_cart_array));

}

}

//Aus Warenkorb löschen
function delcart($goods_array_id){

$cur_goods_array = unserialize(stripslashes($_COOKIE['shop_cart_info'] ));

//Löschen Sie die Position des Produkts im Array
unset($cur_goods_array[$goods_array_id]); > setcookie("shop_cart_info",serialize($cur_goods_array));

}

//Ändern Sie die Menge der Artikel im Warenkorb
function update_cart($up_id,$up_num, $goods_ids){

//Löschen Sie zuerst die Cookies, damit sie zurückgesetzt werden können: 1. Array-Identifikation 2. Produktmengen-Array 3. Produktnummern-Array
//Wenn das Cookie wird nicht gelöscht, Produkte mit einer Menge von Null können nicht verarbeitet werden
setcookie("shop_cart_info",""
foreach($up_id as $song){

//Erste Rückgabe die aktuelle Einheit des Arrays; dann bewegen Sie den Zeiger um eine Position nach unten
$goods_nums = current($up_num);
$goods_id = current($goods_ids);
next($goods_ids);

//Wenn die Anzahl der Waren leer ist, löschen Sie den Array-Wert hier und verwenden Sie die continue 2-Anweisung. Vermeiden Sie die folgenden Operationen und führen Sie die foreach-Schleife weiter aus
while($ waren_nums == 0){
unset($song);
continue 2;
}

$cur_goods_array[ $song][0] = $cur_goods_array[ $song][1] = $goods_nums;

}

setcookie("shop_cart_info",serialize($cur_goods_array) ;

Das Obige ist die Kombination von Cookies und Arrays, um den Inhalt des Warenkorbs zu realisieren. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage