我一直在网站上创建一个功能,一个非常简单的购物车。我跟踪了视频中的代码并设法让它工作,但是,数据存储在会话中,而我想将它存储在phpMyAdmin数据库中。
以下是我的代码:
<?php
session_start();
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'fsc_management_system';
$con = mysqli_connect($host, $user ,$pass, $db);
/*if($con)
{
echo "Connected";
}*/
if(mysqli_connect_errno())
{
echo 'Database connection failed with the following errors: '. mysqli_connect_error();
die();
}
if(isset($_POST["add_to_cart"]))
{
if(isset($_SESSION["shopping_cart"]))
{
$item_array_id = array_column($_SESSION["shopping_cart"], "item_id");
if(!in_array($_GET["id"], $item_array_id))
{
$count = count($_SESSION["shopping_cart"]);
$item_array = array(
'item_id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'item_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"]
);
$_SESSION["shopping_cart"][$count] = $item_array;
$sql = "INSERT INTO price (total) VALUES ('$_POST[hidden_total]')";
$query = mysqli_query($con, $sql);
}
else
{
echo '<script>alert("Item Already Added")</script>';
echo '<script>window.location="ecommerce.php"</script>';
}
}
else
{
$item_array = array(
'item_id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'item_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"]
);
$_SESSION["shopping_cart"][0] = $item_array;
}
}
if(isset($_GET["action"]))
{
if($_GET["action"] == "delete")
{
foreach($_SESSION["shopping_cart"] as $keys => $values)
{
if($values["item_id"] == $_GET["id"])
{
unset($_SESSION["shopping_cart"][$keys]);
echo '<script>alert("Item Removed")</script>';
echo '<script>window.location="ecommerce.php"</script>';
}
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>FSC Shopping Cart</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<style>
.img-responsive
{
width: auto;
height: 150px;
}
</style>
<body>
<br />
<div class="container" style="width:700px;">
<h3 align="center">FSC Shopping Cart</h3><br />
<?php
$query = "SELECT * FROM shopping_cart ORDER BY id ASC";
$result = mysqli_query($con, $query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
?>
<div class="col-md-4">
<form method="post" action="ecommerce.php?action=add&id=<?php echo $row["id"]; ?>">
<div style="border:1px solid #333; background-color:#f1f1f1; border-radius:5px; padding:16px;" align="center">
<img src="<?php echo $row["image"]; ?>" class="img-responsive" /><br />
<h4 class="text-info"><?php echo $row["name"]; ?></h4>
<h4 class="text-danger">$ <?php echo $row["price"]; ?></h4>
<input type="text" name="quantity" class="form-control" value="1" />
<input type="hidden" name="hidden_name" value="<?php echo $row["name"]; ?>" />
<input type="hidden" name="hidden_price" value="<?php echo $row["price"]; ?>" />
<input type="submit" name="add_to_cart" style="margin-top:5px;" class="btn btn-success" value="Add to Cart" />
</div>
</form>
</div>
<?php
}
}
?>
<div style="clear:both"></div>
<br />
<h3>Order Details</h3>
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th width="40%">Item Name</th>
<th width="10%">Quantity</th>
<th width="20%">Price</th>
<th width="15%">Total</th>
<th width="5%">Action</th>
</tr>
<?php
if(!empty($_SESSION["shopping_cart"]))
{
$total = 0;
foreach($_SESSION["shopping_cart"] as $keys => $values)
{
?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td>$ <?php echo $values["item_price"]; ?></td>
<td>$ <?php echo number_format($values["item_quantity"] * $values["item_price"], 2); ?></td>
<td><a href="ecommerce.php?action=delete&id=<?php echo $values["item_id"]; ?>"><span class="text-danger">Remove</span></a></td>
</tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);
}
?>
<tr>
<td colspan="3" align="right">Total</td>
<td align="right">$ <?php echo number_format($total, 2); ?></td>
<td></td>
</tr>
<?php
}
?>
</table>
</div>
</div>
<br />
</body>
</html>
现在代码通过几个tweek将一个项目的价格发送到数据库: Database_image
如果有人能帮助我将正在打印的$ total发送到屏幕并存储在会话中以发送到数据库,我将非常感激。
如果我的代码不是很清楚,这就是我一直关注的源代码: Shopping-cart demo
答案 0 :(得分:0)
I'd: ???
like: ???
some: ???
black: negro
coffee: café
替换此代码
$item_array_id = array_column($_SESSION["shopping_cart"], "item_id");