我目前正在从事一个web开发中的PHP购物车项目。我还需要解决的一个问题是将我从PRODUCT_LIST.php中选择的产品的值传递给cart.php--无论我单击什么产品,在我的products表中找到的最后一个产品的名称都将一直出现在cart.php页面上。
例如,我会选择竹席,它是id号。2,但出现在cart.php中的产品名是bamboonfence,它是id号。8.此外,数量列中显示的值是所选产品的剩余项数。
只有Product和Price列中的值按其应有的方式显示。
下面是product_list.php文件:
<?php
$err_level = error_reporting(0);
$conn = mysql_connect('params');
error_reporting($err_level);
?>
<?php
include "storescripts/connect_to_mysql.php";
?>
<html>
<head>
<title>Product List | Bamboo Art</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="container">
<div class="header">
Bamboo Art
</div>
<div id="nav">
<ul id="nav">
<li><a href="index.php">Home</a>
</li><!--
--><li><a href="#" class="current">Products</a>
</li><!--
--><li><a href="#">Contact Us</a>
</li>
</ul>
</div>
<div class="content_product-list">
<form method="POST" action="addtocart.php">
<?php
$sql = "SELECT * FROM products";
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
?>
<div class="products">
<input type='hidden' name='id' value=' <?php echo $row['id'] ?> '>
<?php echo "<img src='". $row['image'] ."' width=290 height=220>" ?><br><br>
<h3><?php echo $row['name'] . '<input type="hidden" name="name" value="' . $row['name'] . '">' ?></h3>
<h4><?php echo $row['description'] . '<input type="hidden" name="description" value="' . $row['description'] . '">' ?></h4>
Price: Php <?php echo $row['price'] . '<input type="hidden" name="price" value="' . $row['price'] . '">' ?><br>
<?php echo " Availability: " . $row['qty'] . " <br/>" ?>
<?php echo " Quantity: <select name='qty' style='width:40px;'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select> "?>
<br><br>
<input type='submit' value='Add to Cart' name='submit'> <br/>
</div>
<?php
}
?>
</form>
<br/>
</div>
</div>
</div>
</div>
</body>
</html>
addToCart.php:
<?php
include "storescripts/connect_to_mysql.php";
if (isset($_POST['submit'])) {
$qty=$_REQUEST['qty'];
$name=$_REQUEST['name'];
$price=$_REQUEST['price'];
$id=$_REQUEST['id'];
$rs=mysql_query("SELECT * FROM cart WHERE prod_id='$id'",$con) or die (mysql_error());
if (mysql_num_rows($rs)>0 )
{
mysql_query("UPDATE cart SET qty=(qty+'$qty') WHERE prod_id='$id'",$con) or die (mysql_error());
mysql_query("UPDATE sales_record SET qty=(qty+'$qty') WHERE product_name='$name'",$con);
}
else
{
mysql_query("INSERT INTO cart (`cart_id`, `prod_id`, `qty`, `name`, `price`) VALUES (NULL, '$id', '$qty', '$name', '$price');",$con) or die(mysql_error());
mysql_query("INSERT INTO sales_record (`sales_id`, `customer_id`, `product_name`, `qty`,`price`) VALUES (NULL, '', '$name', '$qty', '$price');",$con);
}
mysql_query("UPDATE products SET qty=(qty-'$qty') WHERE id='$id'",$con) or die(mysql_error());
header("location:cart.php");
exit;
}
?>
cart.php文件:
<?php
include "storescripts/connect_to_mysql.php";
if(isset($_POST['checkout'])){
header("location:orders.php");
}
if(isset($_POST['shop'])){
header("location:product_list.php");
}
?>
<html>
<head>
<title>Shopping Cart | Bamboo Art</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="container">
<div class="header">
Bamboo Art
</div>
<div id="nav">
<ul id="nav">
<li><a href="index.php">Home</a>
</li><!--
--><li><a href="product_list.php">Products</a>
</li><!--
--><li><a href="contactus.html">Contact Us</a>
</li>
</ul>
</div>
<div class="content">
<div class="table_content">
<h2>Your Cart</h2>
<form method="post">
<table id="table" align="center" border="0" width="100%">
<th>Qty</th>
<th>Product</th>
<th>Price</th>
<th>Total</th>
<tr>
<?php
//extract all items from the temporary cart
$q="SELECT * FROM cart, products WHERE cart.prod_id=products.id";
$rs=mysql_query($q) or die (mysql_error());
$total=0;
while($row=mysql_fetch_array($rs)){
echo '<td>'. $row['qty'] .'<input type="hidden" name="qty" value="' . $row['qty'] . '"></td>';
echo '<td>'. $row['name'] .'<input type="hidden" name="name" value="' . $row['name'] . '"></td>';
echo '<td>'. number_format($row['price'],'2','.',',') .'<input type="hidden" name="price" value="' . number_format($row['price'],'2','.',',') . '"></td>';
echo '<td><b>' . number_format(($row['qty']*$row['price']),'2','.',',') . '</b><input type="hidden" name="total" value="' . number_format(($row['qty']*$row['price']),'2','.',',') . '"></td>';
$total+=($row['qty']*$row['price']);
echo '</tr>';
echo '<tr>';
}
?>
<tr></tr>
<tr></tr>
<tr><td colspan="3"><strong>GRAND TOTAL</strong></td>
<td><?php echo number_format($total,'2','.',',');?><input type="hidden" name="gtotal" value="<?php echo number_format($total,'2','.',',');?>"></td>
</tr>
<tr height="40px"></tr>
<tr>
<td></td><td><input type="submit" name="checkout" value="Check Out" /></td>
<td><input type="submit" name="shop" value="Back to Shopping" /></td>
</tr>
</table>
</form>
</div>
</div>
</div>
</body>
</html>
我已经看了几个购物车示例代码,试图看看是否有一个解决方案,但它只是难倒了我。
我确实发现了这个问题,这个问题听起来与我遇到的问题类似,但是我不能使用Javascript来构建这个购物车--只能使用HTML、CSS和PHP。
我目前使用的是PHP版本4.2.7.1。
好了,我的PRODUCT_LIST.php现在可以将客户选择的产品ID和名称的值传递给cart.php:
<?php
$sql = "SELECT * FROM products";
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
echo "<div class='products'>";
echo "<form method='POST' action='addtocart.php'>";
echo "<img src='". $row['image'] ."' width=290 height=220><br><br>";
echo "<h3>". $row['name'] . '<input type="hidden" name="name" value="' . $row['name'] . '">' . "</h3>";
echo "<h4>" . $row['description'] . '<input type="hidden" name="description" value="' . $row['description'] . '">' . "</h4>";
echo "Price: Php" . $row['price'] . '<input type="hidden" name="price" value="' . $row['price'] . '">' . "<br>";
echo " Availability: " . $row['qty'] . " <br/>";
echo " <select name='qty' style='width:40px;'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<input type='hidden' name='id' value='" . $row['id'] ." '>
<br><br>
<input type='submit' value='Add to Cart' name='submit'> <br/>";
echo '</form>';
echo " </div>";
}
?>
但是,数量没有正确显示--它没有显示客户选择的数量,而是从在售商品的总数中扣除该数量。例如,有9个竹灯笼在售,客户订购了3个,但cart.php中显示的数量是6个。
我还将cart和sales_record表中的qty字段分别更改为cart_qty和sr_qty,以为这是由于一个冲突,但这并没有产生任何区别。
问题是您只有一个表单和多个同名输入字段。每次您设置一个新的隐藏输入时,您都给它起一个相同的名字,基本上“覆盖”您将在提交时发送的$_POST数据。你可以选择这样的东西:
input type="hidden" name="name[]"
然后在您的AddToCart中像这样访问它:
$_POST['name'][2]
您必须将索引建立在按下提交按钮的基础上。
其他选择是为每个产品创建一个表单,或者使用$_get传递产品id和数量。
本文向大家介绍Ajax + PHP session制作购物车,包括了Ajax + PHP session制作购物车的使用技巧和注意事项,需要的朋友参考一下 购物车网页代码,具体内容如下 1.登录界面login.php 2.登录处理页面loginchuli.php 3.主页面main.php 4.购买处理页面goumai.php 5.订单处理页面,计算选取水果的总价,和水果剩余量。dingdan.p
本文向大家介绍php购物车实现方法,包括了php购物车实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php购物车实现方法。分享给大家供大家参考。具体分析如下: 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的,我们不需要数据库,用了txt文本文件来操作用户购物的内容. 增加商品到购物车,代码如下: 查看购物车的商品,代码如下:
购物车 手淘iOS 5.2.5 Android 5.2.7,天猫客户端暂未支持 Tida.cart({ sellerNick: "莱夫箱包旗舰店", itemId: "42828909348", skuId: "73068526031" }, function (data) { alert(JSON.stringify(data)); }); 该接口支持SPI回
购物车类允许项目被添加到session中,session在用户浏览你的网站期间都保持有效状态。这些项目能够以标准的 "购物车" 格式被检索和显示,并允许用户更新数量或者从购物车中移除项目。 请注意购物车类只提供核心的"购物车"功能。它不提供配送、信用卡授权或者其它处理组件。 初始化购物车类 重要:购物车类利用 CodeIgniter 的 Session 类把购物车信息保存到数据库中,所以在使用购物
购物车类允许项目被添加到 session 中,session 在用户浏览你的网站期间都保持有效状态。 这些项目能够以标准的 "购物车" 格式被检索和显示,并允许用户更新数量或者从购物车中移除项目。 重要 购物车类已经废弃,请不要使用。目前保留它只是为了向前兼容。 请注意购物车类只提供核心的 "购物车" 功能。它不提供配送、信用卡授权或者其它处理组件。 使用购物车类 初始化购物车类 将一个项目添加到
本文向大家介绍PHP session实现购物车功能,包括了PHP session实现购物车功能的使用技巧和注意事项,需要的朋友参考一下 在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码 common.php index.php action.php spcar.php delete.php 以上就是本文