从数据库

时间:2015-08-16 20:44:29

标签: php jquery html mysql

我正在尝试为我的网站实施购物车。我的页面遍历我的数据库中的产品,并使用“添加”按钮在页面上显示它们。如果您已登录,则只能添加项目。

产品表

| 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?

我是否比现在更复杂,我的桌子是否正确? 有更简单的方法吗?

非常感谢您的回复!

1 个答案:

答案 0 :(得分:0)

首先,在购物车表中将用户名更改为UserId。 下一步是在“JOIN产品”中修改sql查询以获得与Products Table的连接,并轻松获得产品价格。

但一般来说,使用PDO驱动程序可以获得更多安全性并清除查询和PHP代码。阅读DB(RDBM)中的关系。