Foros del Web » Programando para Internet » PHP »

Eliminar y actualizar una linea de un array

Estas en el tema de Eliminar y actualizar una linea de un array en el foro de PHP en Foros del Web. Hola a tod@s, Estoy haciendo un carro de la compra y los productos que va clickando el cliente los voy guardando en una sesion y ...
  #1 (permalink)  
Antiguo 22/07/2009, 03:20
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Eliminar y actualizar una linea de un array

Hola a tod@s,

Estoy haciendo un carro de la compra y los productos que va clickando el cliente los voy guardando en una sesion y cada producto en un array. Guardar ya me guarda pero el problema es que no se como hacer para que me borre una linea seleccionada y tengo el mismo problema para actualizar la linea. Este es código que uso para eliminar:
Código PHP:
<?php

    session_start
();
    
    if (
$_GET['acci'] == "eli") {
        
        
$cod $_GET["id"];
        
        
$cesta $_SESSION["cesta"];
        
        foreach(
$cesta as $id => $producto){
        
            if (
$producto["Codigo"] == $cod) {
                    
                unset(
$producto["Codigo"], $producto["refe"], $producto["Plazo_entre"], $producto["descuento"], $producto["Precio"], $producto["Cantidad"], $producto["Total"], $producto["Existencia"]);
    
            }
            
        }
        
        
header("Location: carro_oferta.php");
    
    }

?>
Gracias de antemano, saludos
  #2 (permalink)  
Antiguo 22/07/2009, 04:33
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 3 meses
Puntos: 19
Respuesta: Eliminar y actualizar una linea de un array

Lo que has echo es darle a $producto un subvalor de $_SESSION["cesta"] si borras ese valor la variable $_SESSION["cesta"] no es modificada.

No se mucho de sesiones pero mira si te funciona esto:

unset($_SESSION["cesta"][$id]);

Eso metelo dentro del ultimo if y quita los otros unsets.
  #3 (permalink)  
Antiguo 22/07/2009, 04:41
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Eliminar y actualizar una linea de un array

Hola El-FeNix,

Si que me funciona muchas gracias por la respuesta, me has ayudado mucho. y ya lo de actulizar no sabras, no?

Muchas gracias
  #4 (permalink)  
Antiguo 22/07/2009, 07:36
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 3 meses
Puntos: 19
Respuesta: Eliminar y actualizar una linea de un array

Pues $_SESSION["cesta"][<id>]['propiedad'] y le das el valor que quieras.

Si quieres cambiar la cantidad por ejemplo:

$_SESSION["cesta"][<id>]["Cantidad"] = 4

Pero creo que hay algunas cosas que son prescindibles. Por ejemplo el total lo puedes calcular en cada peticion, guardarlo ahi solo podra crear problemas al actualizar la cesta.

Si ha comprado de cantidad 5 y el precio es 4,7 pues los multiplicas...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:45.