<?php
session_start();
session_register('itemsEnCesta');
if ($_POST[eliminar]) {
$item_fuera=$_POST["articulo"];
$posicion=array_keys($_SESSION[itemsEnCesta],$item_fuera);
$posicion=array_keys($itemsEnCesta,$item_fuera);
array_splice($_SESSION[itemsEnCesta],$posicion[0],1);
}
ej.
para:
Array ([1] => 5 [3] => 1 )
si $item_fuera=1 queda:
Array ( [0] => 5 [3] => 1 )
Es decir que aparentemente la "elimina" poniendo en 0 su indice.
Pero luego llamo a la session desde otra pagina, que recorre el vector session y en base al key de este va armando un sql:
Código PHP:
//armo la lista de id para el in() del sql
if (isset($itemsEnCesta)){
foreach($itemsEnCesta as $k => $v){
if ($k!=0){
if ($bandera){
$busc=$busc.",".$k;
}else{
$busc=$k;
$bandera=true;
}
}
}
}
sql="select * from tabla where id in (".$busc.")";
Array ( [0] => 5 [1] => 5 [3] => 1 )
es decir que no actualizo la session.
Luego hago un requiere que es donde está el ultimo codigo que postié.
require_once("paginaQueRecorreSession.php");
?>
Muchas gracias desde ya.