'how do I store quantity from all items in session?

I'm not seeing what goes wrong here? I want to allow my users to up the quantity from an item in their shopping cart. when they press enter I want the quantity to change from 1 to the number the use rput in and I want that it calculates everything correctly. but right now it only wants to update the last item that the user changed the quantity from. how do I fix this? I thought of using a $_SESSION but that doesn't make any difference. this is part of the code

    <body>
<!--navbar-->
<a class="back" href="index.php"> <i class="bi bi-arrow-left-circle-fill bi-5x"></i></a>
<?php 
include "config.php";
        ?>
        <div class="text-center" style="font-size: 100px;">&#128717;</div>
        <h2 class="text-center">Winkelmandje</h2><br>
        <section class="container content-section">
            <!-- <h2 class="section-header">CART</h2> -->
            <div class="cart-row">
                <span class="cart-item cart-header cart-column">ITEM</span>
                <span class="cart-item cart-header cart-column">PRICE</span>
                <span class="cart-item cart-header cart-column">QUANTITY</span>   
                <span class="cart-item cart-header cart-column">berekening</span>  
                <!-- <span class="cart-item cart-header cart-column">Verwijderen</span>   -->
            </div>  
            <?php
            $broodjes = $_GET['broodjes_ID'];
            
            if (isset($_SESSION['basket'])){
                if( in_array( $broodjes ,$_SESSION['basket']) )
                {
                    
                }else{
                    $_SESSION['basket'][] = $broodjes;
                    
                }
            }else{
                $_SESSION['basket'][]= $broodjes;
                
            }

         
            $sumtotal = 0;
            
                     foreach($_SESSION['basket'] as $key => $value){

                         //echo "Key = $key; value = $value; <br>";
                         $sql = "SELECT broodjes_ID, broodnaam, prijs, voorraad FROM broodjes WHERE broodjes_ID=?";
                         $stmt = $conn->prepare($sql); 
                         $stmt->bind_param("i", $value);
                         $stmt->execute();
                         $result = $stmt->get_result();
                        
                         while($row = $result->fetch_assoc()){
                            
                            
                            echo '<div class="cart-items">';
                            echo '<div class="cart-row">';
                                echo '<div class="cart-item cart-column">';
                                    echo $row['broodnaam'];
                                echo '</div>';
                                echo '<div class="cart-item cart-column">';
                                    echo '€ ' . $row['prijs'];
                                echo '</div>';
                                //quantity
                                echo '<div class="cart-item cart-column">';
                                  echo '<form method="POST" action"">';
                                     echo '<div class="col-xs-4">';
                                     echo '<input type="hidden" name="broodnaam" id="broodnaam" value="' . $row['broodnaam'] . '">';
                                     echo '<input type="number" name="quantity" id="quantity" class="form-control input-sm" placeholder="1" min="1" max="100" value="1">';
                                     echo '</div>';
                                  echo '</form>';
                                 echo '</div>';

                              //session for quantity???'
                              $_SESSION['quantity'] = $_POST['quantity'];
                                  $quantity = 1;
                                 
                                    if (isset($_POST['quantity']) && !empty($_POST['quantity'])){
                                        $_SESSION['quantity'] = $_POST['quantity'];
                                        
                                        if (isset($_POST['broodnaam']) && !empty($_POST['broodnaam'])){
                                             if ($_POST['broodnaam'] == $row['broodnaam']){
                                                 $quantity = $_POST['quantity'];
                                            }
                                        }
                                    }

                                    echo '<div class="cart-item cart-column">';
                                    $rowtotaal = $row['prijs'] * $quantity;
                                    $sumtotal += $rowtotaal;
                                    echo $rowtotaal;
                                    echo '</div>';

                            echo '</div>';
                            echo '</div>';

                          
                         }
                         
                        
                     } 
                     ?> <br />
               
                    <div class="cart-total">
                        <strong class="cart-total-title">Total</strong>
                        <span class="cart-total-price"> € <?php   echo $sumtotal;?></span>
                    </div>
                    <br/>

and this is what it does now situation: enter image description here

enter image description here

how do I store the information in a session?? enter image description here

php


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source