Foros del Web » Programando para Internet » PHP »

Eliminar articulos del mi array de compra

Estas en el tema de Eliminar articulos del mi array de compra en el foro de PHP en Foros del Web. muy buenas y feliz año nuevo a tod@s estoy intentando eliminar articulos de mi carro de compra pero no llego hacerlo os explico como lo ...
  #1 (permalink)  
Antiguo 30/12/2013, 19:33
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 0
Eliminar articulos del mi array de compra

muy buenas y feliz año nuevo a tod@s
estoy intentando eliminar articulos de mi carro de compra pero no llego hacerlo
os explico como lo tengo planificado,tengo la variable session que contiene el total de los articulos en este fichero see_carte.php
Código PHP:
   session_start();
   // este if se hace porque basicamente kdo  estoy en 
  // este fichero ya tengo añadido algún articulo 
  if(isset($_SESSION['carro']))
     $carro=$_SESSION['carro'];
   else
     $carro=false;

   $images=1;

  echo "<table border = 0 width = 100% cellspacing = 0>

        <form action = show_carte.php method = post>
        <tr><th colspan = ". (1+$images) ." bgcolor=\"#cccccc\">Item</th>
        <th bgcolor=\"#cccccc\">Price</th><th bgcolor=\"#cccccc\">Quantity</th>
        <th bgcolor=\"#cccccc\"><th><th>Borrar</th></th></tr>";
   $contador=0;
   $suma=0;
  //aqui hago un recorrido de mi carro para visualizar los articulos añadidos en mi    // carro 
  foreach($carro as $k => $v)
   {
       $subto=$v['cantidad']*$v['price'];
       $suma=$suma+$subto;
       $contador++;
       echo "<td align =\" left\">";
       echo "<td>".$v['title']."</td>";
       echo "<td align ='center'<b>".$v['price']."€</td></b>";
       echo "<td width='43' align='center'><b>".$v['cantidad']."</b></td>";
       echo "<td width='136' align='center'>";
       echo "<td width='100' align='center'></td>";?>
       </span>
       <!-- aqui supuestamente a hora de borrar algun articulo le paso el id mi 
        fichero borracar.php-->
       </div><br><td align="center"><a href="borracar.php?id=<?php echo $v['id']; ?>"><img src="carro.jpg" width="20" height="20" border="0"></a></td>
       </tr></form>
   <?php }   ?>
    </table>
    <!-- defino el nuevo total-->
    <br>
    <br>
    <div align="center"><span class="prod">Total de Artículos: <?php echo '<b>'.count($carro).'</b>';
    echo 
"<tr>";
    echo 
"<br>";
    echo 
"</tr>";
    
?>
    </span>
    </div><br>
    <div align="center"><span class="prod"><b>Total: $</b><?php echo number_format($suma,2);
    echo 
"</span>";
    echo 
"</div><br>";?>
  </table><br>
<br>
en mi fichero borracar.php tengo lo siguiente o sea dentro del vector $carro elimino el id del articulo que le paso.
borracar.php
Código PHP:
 session_start();
 
$carro=$_SESSION['carro'];
 
// aqui elimino el id del articulo que quiero borrar
 
unset($carro[$id]);
$_SESSION['caro']=$carro;
//redirecciono a mi fichero para mostrar los articulos que tengo en mi carro despues de borrar el aritculo seleccionado
header("Location:see_carte.php?".$carro); 
eso lo que tengo hecho pero no me hace caso o sea a la hora de imprimir el contenido del $carro antes de rediccionar a la página de show_carte
con un var_dump($carro) llego a visualizar los articulos que tengo o sea si algun articulo es borrado a la hora de imprimir el contenido del carro no se me muestra o sea el borrado se hace bien lo que pasa a la hora de visualizar los articulos en show_carte despues del borrado no se me borran lo articulos de la linea seleccionada y no se me cambia el tota_del precio ni de los articulos que componen mi carro.

Gracias por aguantarme hasta aquí,la verdad no sé que es lo estoy haciendo mal para no mostrar correctamente los articulos despues de borrarlos de mi carro.
muchas gracias espero vuestra colaboración y vuestro consejos
  #2 (permalink)  
Antiguo 30/12/2013, 19:39
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años, 7 meses
Puntos: 34
Respuesta: Eliminar articulos del mi array de compra

podes hacer unset directamente a $_SESSION

$_SESSION['caro']=$carro; <------------ en esa linea fijate que dice "caro" en lugar de CARRO
  #3 (permalink)  
Antiguo 30/12/2013, 19:45
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Eliminar articulos del mi array de compra

Cita:
Iniciado por patriciomase Ver Mensaje
podes hacer unset directamente a $_SESSION

$_SESSION['caro']=$carro; <------------ en esa linea fijate que dice "caro" en lugar de CARRO
hola patr
gracias por tu respuesta lo de unset directamente a $_SESSION eso lo que hizé yo perdona si t entiendo mal
pero lo de $_session['caro'] lo cambie pero sin resultado

espero vuestra ayudas
muxas gracias
  #4 (permalink)  
Antiguo 30/12/2013, 20:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Eliminar articulos del mi array de compra

Intenta imprimir el valor de $carro[$id] para que compruebes si está llegando el valor de $id, quizá por eso no se elimina el elemento.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 30/12/2013, 20:29
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años, 7 meses
Puntos: 34
Respuesta: Eliminar articulos del mi array de compra

Fijate que id lo estas mandando por get, $id no es nada por eso no unsetea nada.

Código PHP:
Ver original
  1.  
  2. unset($_SESSION[$_GET['id']]);
  3.  
  4. header("Location:see_carte.php?".$carro);
  #6 (permalink)  
Antiguo 30/12/2013, 20:30
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años, 7 meses
Puntos: 34
Respuesta: Eliminar articulos del mi array de compra

Tener todos los ids sueltos en SESSION tampoco es lo más refinado que he visto
  #7 (permalink)  
Antiguo 31/12/2013, 05:03
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Eliminar articulos del mi array de compra

hola mestros
gracias por vuestra aclaración,pero el unset($_SESSION[$_get['id']]) no me hace caso aunque a la variable $_GET['id'] se imprime perfectamente.

les adjunto tambien el contenido de la variable de sessión:

Código PHP:
  $carro[$id]=array('id'=>$r["id"],'title'=>$r['title'],'price'=>$r['price'],'cantidad'=>$cantidad);
$_SESSION['carro']=$carro
despues de llamar borracar siguo mantenido el mismo contenido del carro:

array
'06' =>
array
'id' => string '06' (length=02)
'title' => string 'aprende francés desde cero' (length=26)
'price' => string '5.36' (length=4)
'cantidad' => int 1
'07' =>
array
'id' => string '07' (length=02)
'title' => string 'Aprender Power Point es muy fácil' (length=33)
'price' => string '16.00' (length=5)
'cantidad' => int 1

Etiquetas: articulos, compra, variable
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 22:40.