Intereting Posts

корзина для покупок Session php

<?php session_start(); print '<h1>Your Shopping Cart:</h1>'; print '<h4>The Product ID: '.$_SESSION['id'].' </h4>'; print '<h4>The Quantity: '.$_SESSION['quantity'].' </h4>'; $dbc = mysql_connect('127.0.0.1', 'root', ''); mysql_select_db('product', $dbc); $query = "SELECT * FROM prod WHERE id='".$_SESSION['id']."'"; if ($r = mysql_query($query, $dbc)) { while ($row = mysql_fetch_array($r)) { print "<p><b>Product Name: {$row['name']}<br /> The Price: {$row['price']}<br /> Shipping Cost: {$row['shipping']}<br /> </p><hr />\n"; }} ?> 

Этот код для корзины с сеансом, но проблема в том, что он хранит только один продукт.

Например, если вы приобрели продукт A и продукт Cart B, удалите B, затем добавьте продукт. Пожалуйста, помогите мне. Я хочу добавить несколько продуктов и напечатать на экране ##

Solutions Collecting From Web of "корзина для покупок Session php"

Добавьте еще один уровень в корзину:

 $_SESSION['cart'][$productID]['quantity']; ^^^^^^^^^^^^^ 

поэтому вы сохраняете данные о каждом продукте. Прямо сейчас вы используете один уровень, который вы постоянно переписываете по мере добавления новых продуктов.

Поздороваться с php-массивами: http://www.php.net/manual/en/book.array.php 🙂
В основном вместо:

 $_SESSION['id'] = 1234; 

Ты захочешь:

 $_SESSION['products'][] = array('id'=>1234, 'quantity'=>10); 

Затем вы будете перебирать $ _SESSION ['products'], как

 foreach($_SESSION['products'] AS $product){ echo $product['id']; } 

Вы должны поддерживать свою корзину в переменной сеанса $_SESSION['cart'] . При добавлении новых продуктов вы можете использовать это,

 $_SESSION['cart'] = array(); //initialize once array_push($_SESSION['cart'], array("id" => $id, "quantity" => $q)); print_r($_SESSION['cart']); 

Таким образом, вы можете иметь несколько продуктов в корзине.

Для конкретной структуры CodeIgniter существует класс, который обеспечивает функциональность тележки. Проверьте это .

 $_SESSION['cart'] = array(); $_SESSION['cart']['1'] = 2;//add product A,id=1,quality=2 $_SESSION['cart']['2'] = 3;//add product B,id=2,quality=3 //get all items foreach($_SESSION['cart'] as $item) { print_r($item); }