jueves, 2 de agosto de 2012

session, checkbox, php, mysql


//consulta... $cadbusca = "select .....where ...";
  $resultado =mysql_query($cadbusca);
        echo"
"; while($filas=mysql_fetch_array($resultado)){ #cadena vemos si el producto ya asido asignado a la session o no, # dependiendo del caso muestra un icono para quitarlo de la session # o agregarlo, es la opcion para hacerlo producto por producto. #pero si queremos por grupo entonces utilizamos los checkbox. $cadena = ereg_replace( "([ ]+)","%20",$filas['ruta_img1']); #qui meto el if y variables cadena if(!$carro || !isset($carro[md5($filas['idproductos'])]['identificador']) || $carro[md5($filas['idproductos'])]['identificador']!= md5($filas['idproductos'])){ $cadenaAgregarQuitar=""; }else{ $cadenaAgregarQuitar=""; } echo" " .$cadenaAgregarQuitar.""; } echo "
Nombre Descripcion Categoria Cantidad Precio Select Imagen Agregar/Quitar
".$filas['codigo_producto']." ".limitarPalabras($filas['descripcion_producto'],20)." ".$filas['nombre_tipo_producto']." ".$filas['Cantidad_producto']." ".$filas['precio']."
"; }
ahora el código de agregacar.php
md5($id), 
        'idproductos'=>$id,
 'cantidad'=>$cantidad,
 'idproductos'=>$id,
 'stock'=>$row2['Cantidad_producto'],     'descripcion_producto'=>$row2['descripcion_producto'],
'precio'=>$row2['precio']
);
}
$_SESSION['carro']=$carro; 
 
    header("Location:vender.php?".SID);  
 
}else{
//PARA EL CHECKBOX END
$qry=dime("select * from productos where  idproductos='".$id."'"); 
$row=mysql_fetch_array($qry); 
//Si ya hemos introducido algún 
//producto en el carro lo 
//tendremos guardado temporalmente 
//en el array superglobal 
//$_SESSION['carro'], de manera 
//que rescatamos los valores de 
//dicho array y se los asignamos 
//a la variable $carro, previa  
//comprobación con isset de que 
//$_SESSION['carro'] ya haya sido 
//definida 
if(isset($_SESSION['carro'])) 
$carro=$_SESSION['carro']; 
//Ahora introducimos el nuevo 
//producto en la matriz $carro, 
//utilizando como índice el id 
//del producto en cuestión, 
//encriptado con md5. 
//Utilizamos md5 porque genera 
//un valor alfanumérico que luego, 
//cuando busquemos un producto 
//en particular dentro de la 
//matriz, no podrá ser confundido 
//con la posición que ocupa dentro 
//de dicha matriz, como podría 
//ocurrir si fuera sólo numérico. 
//Cabe aclarar que si el producto 
//ya había sido agregado antes, 
//los nuevos valores que le 
//asignemos reemplazarán a los 
//viejos.  
//Al mismo tiempo, y no porque 
//sea estrictamente necesario 
//sino a modo de ejemplo, 
//guardamos más de un valor en 
//la variable $carro, valiéndonos 
//de nuevo de la herramienta array. 
#agregamos los valores al array de session Oo
$carro[md5($id)]=array('identificador'=>md5($id), 
         'idproductos'=>$id,
  'cantidad'=>$cantidad,
  'idproductos'=>$id,
  'stock'=>$row['Cantidad_producto'],
 'descripcion_producto'=>$row['descripcion_producto'], 
 'precio'=>$row['precio']
); 
//Ahora dentro de la sesión 
//($_SESSION['carro']) tenemos 
//sólo los valores que teníamos 
//(si es que teníamos alguno)  
//antes de ingresar a esta página 
//y en la variable $carro tenemos 
//esos mismos valores más el que 
//acabamos de sumar. De manera que  
//tenemos que actualizar (reemplazar) 
//la variable de sesión por la 
//variable $carro. 
$_SESSION['carro']=$carro; 
//Y volvemos a nuestro catálogo de 
//artículos. La cadena SID representa 
//al identificador de la sesión, que, 
//dependiendo de la configuración del 
//servidor y de si el usuario tiene 
//o no activadas las cookies puede 
//no ser necesario pasarla por la url. 
//Pero para que nuestro carro funcione, 
//independientemente de esos factores, 
//conviene escribirla siempre. 
if (!isset($dedonde)) {
    header("Location:catalogo.php?".SID); 
}else{
    header("Location:vender.php?".SID);  
}

}

?> 

1 comentario:

  1. cualquier mejora o versión seria chvr. gracias.
    econtre estos links.

    http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_gestionar_acciones_a_los_registros_seleccionados_con_checbox_(estilo_web-mails_tipo_Hotmail)%3F

    http://php.apsique.com/contenido/borrar_multiples_registros_con_checkbox

    ResponderEliminar