Получить информацию о продукте от SESSION - PHP - PullRequest
0 голосов
/ 09 ноября 2019

Я создаю функцию простого добавления в корзину. Когда я нажимаю кнопку «Добавить в корзину», они сохраняются на иконке корзины (1), но когда я захожу в корзину, на иконке корзины (1) сохраняется один продукт, но я не могу получить информацию о названии продукта, цене ... Вот мой код для cart.php:

<form method="POST" action="save_cart.php">
<table class="table table-bordered table-striped">
    <thead>
        <th></th>
        <th>Name</th>
        <th>Price</th>
        <th>Quantity</th>
        <th>Subtotal</th>
    </thead>
    <tbody>
        <?php
        //initialize total
        $total = 0;
        if(!empty($_SESSION['cart'])){
            //connection
            $conn = new mysqli('localhost', 'root', '', 'tst');
            //create array of initail qty which is 1
            $index = 0;
            if(!isset($_SESSION['qty_array'])){
                $_SESSION['qty_array'] = array_fill(0, count($_SESSION['cart']), 1);
            }
            $str = implode(',', $_SESSION['cart']);
            $sql = "SELECT * FROM post WHERE post_id = '$str'";
            $query = $conn->query($sql);
            while($row = $query->fetch_assoc()){
                ?>
                <tr>
                <td>
                <a href="delete_item.php?id=<?php echo $row['post_id']; ?>&index=<?php echo $index; ?>" class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></a>
                </td>
                <td><?php echo $row['post_title']; ?></td>
                <td><?php echo number_format($row['price'], 2); ?></td>
                <input type="hidden" name="indexes[]" value="<?php echo $index; ?>">
                <td><input type="text" class="form-control" value="<?php echo $_SESSION['qty_array'][$index]; ?>" name="qty_<?php echo $index; ?>"></td>
                <td><?php echo number_format($_SESSION['qty_array'][$index]*$row['price'], 2); ?></td>
                <?php $total += $_SESSION['qty_array'][$index]*$row['price']; ?>
                </tr>
                <?php
                $index ++;
            }
        }
        else{
            ?>
            <tr>
            <td colspan="4" class="text-center">No Item in Cart</td>
            </tr>
            <?php
        }

        ?>
        <tr>
            <td colspan="4" align="right"><b>Total</b></td>
            <td><b><?php echo number_format($total, 2); ?></b></td>
        </tr>
    </tbody>
</table>
<a href="index.php" class="btn btn-primary"><span class="glyphicon glyphicon-arrow-left"></span> Back</a>
<button type="submit" class="btn btn-success" name="save">Save Changes</button>
<a href="clear_cart.php" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Clear Cart</a>
<a href="checkout.php" class="btn btn-success"><span class="glyphicon glyphicon-check"></span> Checkout</a>
</form>

Я не получаю никаких ошибок, просто не отображаю информацию о добавленном продукте на странице cart.php. Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...