我正在尝试为我的网站实施购物车。我的页面遍历我的数据库中的产品,并使用“添加”按钮在页面上显示它们。如果您已登录,则只能添加项目。
产品表
| ID | Name | Price | Quantity | description | image_name |
添加项目后,它会将其存储在购物车表格中。 'CartProduct int'与我的products表中的'ID'相同。
购物车表
| CartID | CartProduct | ProductCount | UniqueID | Username | Date
如果在同一产品上单击“添加”,则ProductCount将递增。
因此,如果TestUser添加了CartProduct 1&再次2和2 我真的不确定如何显示所有产品WHERE用户名'TestUser',我还需要ProductCount * Price。
目前我正在尝试为登录用户遍历每个CartProduct,然后从产品表中选择ID WHERE ID = CartProduct(因为它们是相同的)。然后我可以抓住该产品的价格和细节。
目前我从购物车中选择了用户名=用户名登录的用户名。就这样我可以看到结果,我正在显示它。
$sql = "SELECT cartProduct FROM cart WHERE username ='" . $name . "'";
$result = mysql_query($sql);
$c = 0;
$n = 2; // Each Nth iteration would be a new table row
while ($db_field = mysql_fetch_assoc($result)) {
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
$productNo = $row['cartProduct'];
if ($c % $n == 0 && $c != 0) { // If $c is divisible by $n...
echo '<div class="row" ></div>';
}
$c++;
echo "<br>Count: " .$c;
?>
<h2> <?php echo "Product No: " . $productNo ?> </a></h2>
<?php
我在购物车中添加了3件商品。 CartProduct 1,2,2: - 我一直得到的输出:
产品编号:1
产品编号:1
我应该看到产品1,然后是产品2?
我是否比现在更复杂,我的桌子是否正确? 有更简单的方法吗?
非常感谢您的回复!
答案 0 :(得分:0)
首先,在购物车表中将用户名更改为UserId。 下一步是在“JOIN产品”中修改sql查询以获得与Products Table的连接,并轻松获得产品价格。
但一般来说,使用PDO驱动程序可以获得更多安全性并清除查询和PHP代码。阅读DB(RDBM)中的关系。