¡¡¡ pateketrueke !!!
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
MUCHAS GRACIAS POR TU SABIDURÍA.
Acabo de conseguir que me sume y me reste productos. El script en cuestión ha quedado así:
Código PHP:
if($save)
{
foreach ($cart as $isbn => $qty)
{
if(empty($_POST['foo'][$cant]))
{
unset($cart[$isbn]);
}
else
{
{$cart[$isbn] = $_POST['foo'][$cant];}
}
}
$total_price = calculate_price($cart);
$items = calculate_items($cart);
}
Tanto si pongo "0" como si borro el contenido, el artículo se borra de $cart.
Si pongo CUALQUIER CIFRA, se modifica y recalcula a la perfección...... Ese problema por tanto resuelto.
PERO..... PERO......
"$_POST['foo'][$cant]" Toma el valor del form, pero DEL ÚLTIMO PRODUCTO AÑADIDO AL CARRO. Me explico:
Con un producto va pefecto. Cuando añado otro, si quiero modificar el segundo, lo hace a la perfección, PERO MODIFICA TAMBIÉN AL PRIMERO. Y el primero ya NO permite modificaciones. Se rige por el segundo...... Y si añado un tercero, ese último es el que manda........
Yo creo que la solución tiene que pasar por hacer que foo[$cant], funcione como un array, digamos algo así como foo[$cart][$isbn] (el isbn era el indice de $cart), y que al hacer el loop donde resta o suma, solo lo hiciese del producto con ese $isbn....... ¿qué opinas?
Lo que pasa es que no acabo de enterarme como hacer un array de foo[$cant]......... ¿donde declaro foo[$cant] como array? ¿debe ser después del form? ¿puede ser antes del loop que muestra el array $cart?????
Voy a seguir investigando, pero si me puedes dar una pista, te lo agradecería eternamente......
MIL GRACIAS.