Link to home
Start Free TrialLog in
Avatar of Robert Francis
Robert Francis

asked on

Reference key in foreach loop

On line 45 I need to put the code in to unset the item in the table list. How do I reference the key for that item?

		<?php 
		$size = $_GET["size"];
		$color = $_GET["color"];
		$style = $_GET["style"];
		$qty = $_GET["qty"];
		$cat = $_GET["cat"];
		$sub = $_GET["sub"];
		$thumb = $_GET["thumb"];
		
		$cart = array(
		'size' => $size,
		'color' => $color,
		'style' => $style,
		'cat' => $cat,
		'sub' => $sub,
		'thumb' => $thumb,
		'qty' => $qty
		);
		
		$_SESSION['cart'][] = $cart;
		print_r($_SESSION['cart']);
	?> 
<br><br>
<h2 class="required">Quote Cart</h2>
  <table class="table table-bordered table-condensed table-striped table-responsive">
    <tr class="table-header">
          <td><b>Image</b></td>
          <td><b>Style</b></td>
          <td><b>Color</b></td>
          <td><b>Size</b></td>
          <td><b>Quantity</b></td>
          <td><b>Order More</b></td>
          <td><b>Delete</b></td>
    </tr>
    
    <?php
	foreach ($_SESSION['cart'] as $item) {;?>
    <tr>
          <td><img src="/SDL/THUMBNAIL_IMAGE/<?php echo $item['thumb'];?>" alt=""></td>
          <td><?php echo $item['style'];?></td>
          <td><?php echo $item['color'];?></td>
          <td><?php echo $item['size'];?></td>
          <td><?php echo $item['qty'];?></td>
          <td><a href="prod_detail2.php?style=<?php echo $item['style'];?>&sub=<?php echo $item['sub'];?>&cat=<?php echo $item['cat'];?>&btnSubmit=save">Add More</td>
          <td>Delete</td>
    </tr>
    <?php ;} //End of while ?>
	  </table>

Open in new window


Here are the results from the print_r on line 21:

Array ( [0] => Array ( [size] => M [color] => Maroon [style] => ST215 [cat] => Activewear [sub] => Baseball [thumb] => ST215TN.jpg [qty] => 10 ) [1] => Array ( [size] => 2XL [color] => Black [style] => ST215 [cat] => Activewear [sub] => Baseball [thumb] => ST215TN.jpg [qty] => 10 ) [2] => Array ( [size] => S/M [color] => Black [style] => A705 [cat] => Accessories [sub] => Aprons [thumb] => A705TN.jpg [qty] => ) [3] => Array ( [size] => S/M [color] => Black [style] => A705 [cat] => Accessories [sub] => Aprons [thumb] => A705TN.jpg [qty] => ) )

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Ray Paseur
Ray Paseur
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Peos John
You can also access the array value by adding increment varriable

<?php
	  $i=0;
	foreach ($_SESSION['cart'] as $item) {
 		echo '<pre>'; print_r($_SESSION['cart'][$i]); echo '</pre>';//ACCESS VALUES USING $i
	  ?>
   		
    <tr>
          <td><img src="/SDL/THUMBNAIL_IMAGE/<?php echo $item['thumb'];?>" alt=""></td>
          <td><?php echo $item['style'];?></td>
          <td><?php echo $item['color'];?></td>
          <td><?php echo $item['size'];?></td>
          <td><?php echo $item['qty'];?></td>
          <td><a href="prod_detail2.php?style=<?php echo $item['style'];?>&sub=<?php echo $item['sub'];?>&cat=<?php echo $item['cat'];?>&btnSubmit=save">Add More</td>
          <td>Delete</td>
    </tr>
    <?php $i++; } //End of while ?>
	  </table>

Open in new window

Avatar of Robert Francis
Robert Francis

ASKER

Apparently I am not coding it correctly. It works but always deletes the last key, not the one from the table row.

<table class="table table-bordered table-condensed table-striped table-responsive">
    <tr class="table-header">
          <td><b>Image</b></td>
          <td><b>Style</b></td>
          <td><b>Color</b></td>
          <td><b>Size</b></td>
          <td><b>Quantity</b></td>
          <td><b>Order More</b></td>
          <td><b>Delete</b></td>
    </tr>
    
    <?php
	foreach ($_SESSION['cart'] as $key => $item) {;?>
    <tr>
          <td><img src="/SDL/THUMBNAIL_IMAGE/<?php echo $item['thumb'];?>" alt=""></td>
          <td><?php echo $item['style'];?></td>
          <td><?php echo $item['color'];?></td>
          <td><?php echo $item['size'];?></td>
          <td><?php echo $item['qty'];?></td>
          <td><a href="prod_detail2.php?style=<?php echo $item['style'];?>&sub=<?php echo $item['sub'];?>&cat=<?php echo $item['cat'];?>&btnSubmit=save">Add More</td>
          <td><form action="">
          	<button type="submit" class="btn btn-default" name="btnSubmit2">Delete Line</button>
          </form></td>
    </tr>
    <?php ;} //End of while ?>
	  </table>
	  <div class="row">
	  	<div class="col-sm-6 text-center">	  
	  	<form action="shop-2.php">
	  	<button type="submit" class="btn btn-default" name="btnSubmit" value="save">Continue Quoting</button>
	  </form>
	  </div>
	  	<div class="col-sm-6 text-center">	  
	  	<form action="qoute_cart_close.php">
	  	<button type="submit" class="btn btn-default" name="btnSubmit" value="save">Submit Quote</button>
	  </form>
	  </div>
	  </div>
<hr>
	</div>
	<div id="footer"></div>
</body>

<?php if(isset($_GET['btnSubmit2'])) {
unset($_SESSION['cart'][$key]);
};?>
</html>

Open in new window

SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial