Zmniejszanie i zwiększanie ilości produktów

0

Mam zrobiony taki koszyk na stronie. Jak za pomocą przycisku dodaj albo usuń zwiększać i zmniejszać ilość produktów?

<div class="product">
					<img class="product__image" src="img/products/beer.svg" alt="Beer">
					<h2 class="product__name">Beer</h2>
					<h3 class="product__price">6.00</h3>
					<a href="index.php?action=addToCart&productID=Beer&amount=1"><button class="btn btn--primary" data-action="ADD_TO_CART">Add To Cart</button></a>
				</div>
				<div class="product">
					<img class="product__image" src="img/products/energy-drink.svg" alt="Energy Drink">
					<h2 class="product__name">Energy Drink</h2>
					<h3 class="product__price">5.00</h3> 
					<a href="index.php?action=addToCart&productID=Energy Drink&amount=1"><button class="btn btn--primary" data-action="ADD_TO_CART">Add To Cart</button></a>
				</div>
$button="<input type='submit' value='add' style='width:50px;' />";
				$delete="<input type='submit' value='delete' style='width:50px;' />";
				

				
				if(isset($_GET['action'])){

					@$_SESSION['produkty']=$_SESSION['produkty']." ".$_GET['productID']." ".$_GET['amount'].$button.$delete.'<br>';
					unset($_GET['action']);
					echo $_SESSION['produkty'];
					echo "<a href='summary.php' style='text-decoration:none;'> <input type='submit' value='proceed to payment'/> </a>";
	 				 
				} 
0

Przede wszystkim nie trzymaj wszystkiego w jednym stringu. Pakuj to do tablicy i cały Twój problem zniknie. Wtedy robisz tylko $_SESSION['products'][ID_PRODUKTU]['amount]++; i po problemie. Teraz kleisz jakiś mega długaśny tekst nie wiadomo po co. Do tego inputy są jak kawałek forma, ale w ogóle nie ma forma.

0

Rob tylko sesje z id. Podczas pierwszego dodania produktu do koszyka dodaj sesje:
$_SESSION['cart][$id]++
Tak samo wywoluj to kiedy chcesz dodac kolejny ten sam item. Jesli odjac chcesz
$_SESSION['cart][$id]--

Jesli chcesz usunac to przez unset.
Przejedz te sesje przez foreach() i podstaw te wartosci pod zapytanie z bazy poprzez id i wyswietl przedmioty

0

2 pliki. Moze sie komus to przyda:
Plik z linkami

<?php

			echo "<a href=\"test.php?a=1&id=1\">1 Do koszyka</a><br>";
			echo "<a href=\"test.php?a=1&id=2\">2 Do koszyka</a><br>";
			echo "<a href=\"test.php?a=1&id=3\">3 Do koszyka</a><br>";
			echo "<a href=\"test.php?a=1&id=4\">4 Do koszyka</a><br>";
			echo "<a href=\"test.php?a=1&id=5\">5 Do koszyka</a><br>";

?>

Plik 'test.php'


<?php
session_start();
error_reporting(0);




$id = $_GET['id'];
$a = $_GET['a'];



	switch($a):
	
	case('1'):
	
	$_SESSION['cart'][$id]++;
	header('location:' . $_SERVER['SCRIPT_NAME']);

	exit;
	
	break;
	
	case('2'):
	
	$_SESSION['cart'][$id]--;
	if($_SESSION['cart'][$id] == 0) unset($_SESSION['cart'][$id]);
	header('location:' . $_SERVER['SCRIPT_NAME']);

	exit;
	
	break;
	
	case('3'):
	
	unset($_SESSION['cart'][$id]);
	header('location:' . $_SERVER['SCRIPT_NAME']);
	
	break;
	
		case ("4"):
			unset($_SESSION['cart']); 
			header('location:' . $_SERVER['SCRIPT_NAME']);
		break;
	
	endswitch;


									
									
									if($_SESSION['cart'])
									{
									foreach($_SESSION['cart'] as $ide => $ilosc)
									{
										
										print_r($_SESSION['cart']);
										print "[ <a href=". $_SERVER['SCRIPT_NAME'] ."?a=1&id=$ide>Dodaj 1</a> ] [ <a href=". $_SERVER['SCRIPT_NAME'] ."?a=2&id=$ide>Usuń 1</a> ]  [ <a href=". $_SERVER['SCRIPT_NAME'] ."?a=3&id=$ide>Usuń przedmiot</a> ]<br><br>";
									}
									   
									print "<a href=\"$_SERVER[SCRIPT_NAME]?a=4\" onclick=\"return confirm('Usunąć zawartość koszyka?');\">Usuń zawartość koszyka</a>";
									print " | <a href=\"testsesji2.php\">Kontynuuj zakupy</a>";
									
									} else {
										exit('Twój koszyk jest pusty.');
									}
									
	
?>

W tej pętli foreach() nalezy pobrac wartosci wraz z cenami produktów a pozniej przy pomocy zmiennej $ilosc mnożyć ceny itd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1