Foros del Web » Programando para Internet » PHP »

Duda con update

Estas en el tema de Duda con update en el foro de PHP en Foros del Web. En una forma tengo multiples checkboxes, todos con el mismo nombre pero con diferentes valores, esos valores son los Id que mando hablar de una ...
  #1 (permalink)  
Antiguo 06/09/2005, 10:13
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Duda con update

En una forma tengo multiples checkboxes, todos con el mismo nombre pero con diferentes valores, esos valores son los Id que mando hablar de una base de datos, este es el codigo que estoy usando:

foreach($HTTP_POST_VARS as $submit => $activa){
$asignacion = "\$" . $submit . "='" . $activa . "';";
eval($asignacion);
}

con este codigo puedo ver cuales checkboxes estan habilitados, pero mi duda es la siguiente, como le puedo hacer para saber cuales estan habilitados y cuales deshabilitados, lo que quiero hacer es hacer un update si estan es que estan habilitados y se deshabilitan o viceversa, actualizarla en la base de datos, asi sucesivamente. espero que alguien pueda ayudarme, ya que estoy atorado en esto.

muchas gracias!
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #2 (permalink)  
Antiguo 06/09/2005, 12:24
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
En el value del checkbox no coloques activo o inactivo, sino un codigo o id que te sirva para realizar el update, recuerda que el foreach sólo te muestra los que han sido seleccionados.
  #3 (permalink)  
Antiguo 06/09/2005, 12:51
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Si en en el value le pongo el numero de ID, usando el foreach, detectara todos los checkboxes, activos o inactivos?
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #4 (permalink)  
Antiguo 06/09/2005, 12:53
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
sólo los activos (los que haz seleccionado)
  #5 (permalink)  
Antiguo 06/09/2005, 14:09
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
ya entendi, entonces como le puedo hacer, es decir, en el script que tengo, hago un select y aparecen los datos, todos ellos con un checkbox, unos estan activados y otros inactivos, a ese campo lo llame 'activa', lo que quiero hacer, es que si un checkbox esta activo, y lo desactivo, pueda actualizar ese campo que sera inactivo, y si un campo esta inactivo y lo activo, se actualize activando ese campo. En resumen lo que necesito es saber el estado de todos los checkboxes, que esten activos e inactivos. Espero poder entenderme y que me puedas ayudar, ya que llevo varios dias con este dilema.

gracias
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com

Última edición por chidomen; 06/09/2005 a las 14:55
  #6 (permalink)  
Antiguo 06/09/2005, 14:59
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
como el foreach pasa sólo los activos en ese ciclo actualiza diciendo:

Código PHP:
//crea un arreglo sql de id
$ides="(";
foreach (
$_POST['activa'] as $id)
   
$ides.=$id.",";
$ides=substr($ides,0,strlen($ides)-1).")";

//sql para activar los checkados
$sql="update tabla set activa='algo' where id in $ides ";

//sql para inactivar los no checkados
$sql="update tabla set activa='algo' where id not in $ides "
la idea es que $ides sea una cadena mas menos asi (que representa un arreglo en sql):
$ides="(1,2,3,4)"
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 20:16.