Hi! When I want to add items to the cart every time it adds first product with id=1.
index.php :
<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if (mysqli_connect_errno()) {
die("Connection failed: " . mysqli_connect_erno());
}
$sql="SELECT *from produs,stoc
WHERE produs.id = stoc.id";
$result=mysqli_query($conn,$sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
?>
<table cellpadding="2" cellspacing="2" border="0">
<tr>
<th>Id</th>
<th>Name</th>
<th>Price</th>
<th>Buy</th>
</tr>
<?php while($product = mysqli_fetch_object($result)) { ?>
<tr>
<td><?php echo $product->id; ?></td>
<td><?php echo $product->nume; ?></td>
<td><?php echo $product->pret; ?></td>
<td><a href="cart.php?di=<?php echo $product->id; ?>">Order Now</a></td>
</tr>
<?php } ?>
</table>
cart.php :
<?php
session_start ();
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if (mysqli_connect_errno()) {
die("Connection failed: " . mysqli_connect_erno());
}
$sql="SELECT *from produs,stoc
WHERE produs.id = stoc.id";
$result=mysqli_query($conn,$sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
require 'item.php';
if (isset ( $_GET ['di'] ) && !isset($_POST['update'])) {
$product = mysqli_fetch_object ( $result );
$item = new Item ();
$item->id = $product->id;
$item->nume = $product->nume;
$item->pret = $product->pret;
$item->cantitate = 1;
// Check product is existing in cart
$index = -1;
if (isset ( $_SESSION ['cart'] )) {
$cart = unserialize ( serialize ( $_SESSION ['cart'] ) );
for($i = 0; $i < count ( $cart ); $i ++)
if ($cart [$i]->id == $_GET ['di']) {
$index = $i;
break;
}
}
if ($index == - 1)
$_SESSION ['cart'] [] = $item;
else {
$cart [$index]->cantitate ++;
$_SESSION ['cart'] = $cart;
}
}
// Delete product in cart
if (isset ( $_GET ['index'] ) && !isset($_POST['update'])) {
$cart = unserialize ( serialize ( $_SESSION ['cart'] ) );
unset ( $cart [$_GET ['index']] );
$cart = array_values ( $cart );
$_SESSION ['cart'] = $cart;
}
// Update quantity in cart
if(isset($_POST['update'])) {
$arrQuantity = $_POST['cantitate'];
// Check validate quantity
$valid = 1;
for($i=0; $i<count($arrQuantity); $i++)
if(!is_numeric($arrQuantity[$i]) || $arrQuantity[$i] < 1){
$valid = 0;
break;
}
if($valid==1){
$cart = unserialize ( serialize ( $_SESSION ['cart'] ) );
for($i = 0; $i < count ( $cart ); $i ++) {
$cart[$i]->cantitate = $arrQuantity[$i];
}
$_SESSION ['cart'] = $cart;
}
else
$error = 'Quantity is InValid';
}
?>
<?php echo isset($error) ? $error : ''; ?>
<form method="post">
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<th>Option</th>
<th>Id</th>
<th>Name</th>
<th>Price</th>
<th>Quantity <input type="image" src="http://learningprogramming.net/wp-content/uploads/php-mysql//save.png"> <input
type="hidden" name="update">
</th>
<th>Sub Total</th>
</tr>
<?php
$cart = unserialize ( serialize ( $_SESSION ['cart'] ) );
$s = 0;
$index = 0;
for($i = 0; $i < count ( $cart ); $i++) {
$s += $cart [$i]->pret * $cart [$i]->cantitate;
?>
<tr>
<td><a href="cart.php?index=<?php echo $index; ?>"
onclick="return confirm('Are you sure?')">Delete</a></td>
<td><?php echo $cart[$i]->id; ?></td>
<td><?php echo $cart[$i]->nume; ?></td>
<td><?php echo number_format($cart[$i]->pret,2); ?></td>
<td><input type="text" value="<?php echo $cart[$i]->cantitate; ?>"
style="width: 50px;" name="cantitate[]"></td>
<td><?php echo $cart[$i]->pret * $cart[$i]->cantitate; ?></td>
</tr>
<?php
$index ++;
}
?>
<tr>
<td colspan="5" align="right">Sum</td>
<td align="left"><?php echo $s; ?></td>
</tr>
</table>
</form>
<br>
item.php :
<?php
class Item{
var $id;
var $nume;
var $pret;
var $cantitate;
}
?>