Foros del Web » Programando para Internet » PHP »

Check para activar o desactivar

Estas en el tema de Check para activar o desactivar en el foro de PHP en Foros del Web. Hola a tod@s... Tengo lo siguiente Código PHP: <?php if ( $row [ 'approved' ] ==  "Y"  )  { ?> <input type="checkbox" name="active[]" value=" <? echo  $row [ "id" ]; ?> ...
  #1 (permalink)  
Antiguo 05/03/2007, 15:14
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Check para activar o desactivar

Hola a tod@s...

Tengo lo siguiente

Código PHP:
<?php
if ($row['approved'] == "Y" )  {?>
<input type="checkbox" name="active[]" value="<?echo $row["id"];?>" checked></td>
  <?php
    
}else
    {
   
?>
  <input type="checkbox" name="active[]" value="<?echo $row["id"];?>" ></td>
       <?php
}?>
Y bueno ahi me muestra un listado con los usuarios activos o no activos... si doy el check.. pues lo selecciono perfecto.. pero si lo desactivo no sé como cogerlo... mmm veamos el código cuando hago el update...

Código PHP:
for($i=0;$i<count($active);$i++)
    {
     
$SQL="UPDATE TBL_CUSTOMER set approved = 'Y' WHERE id = '$active[$i]'";
     
mysql_db_query($sql_db,$SQL);
    } 
entonces me llega por ejemplo los registros con id 1, 2 uno seleccionado y el otro no.. por ejemplo el 2 estaba seleccionado.. y ya luego no... pero no sé como actualizarlo, pues no me queda seleccionado en el array de active...

mmm no sé si supe explicar hace ratico no programo y se van olvidando las cosas.. jajaja

Gracias!! ;)
  #2 (permalink)  
Antiguo 05/03/2007, 15:39
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Re: Check para activar o desactivar

Si estás haciendo bien el Update table creo que deberías pulsar CTRL+F5 para recargar con el cache borrado. Porque los navegadores actuales recuerdan formularios.

Por otra parte, no endiendo porque lo haces con checkboxes ?????


Salu2
  #3 (permalink)  
Antiguo 05/03/2007, 16:11
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Check para activar o desactivar

es que el update funciona.. efectivamente me deja activados los seleccionados.. lo que quiero es también que queden en "N" los que no quedan activados.. pero en el array sólo me pasan los chequeados... y es por esto que no obtengo los id o mejor no sé como obtenerlos para poder actualizar en "N" los que ya no están activos.
  #4 (permalink)  
Antiguo 05/03/2007, 17:36
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Check para activar o desactivar

Saludos

Lo que sucede es muy simple amigo. No te deactiva los que has desactivado, pues lógico, nunca has probado que es lo que devuelve el Check cuando está deactivado? En JavaScript false, pero cuando lo envias con un formulario a un PHP no devuelve nada, o sea, una cadena vacía, es como si no existiría ese control en el formulario. Pues ya te di la pista para la solución, simplemente procesa ese valor nulo antes de hacerlo entrar a la sentencia SQL.
  #5 (permalink)  
Antiguo 05/03/2007, 17:59
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Check para activar o desactivar

mmm es que cuándo no está chequeado.. simplemente no lleva nada, ya habia probado revisando que traia el array..
  #6 (permalink)  
Antiguo 05/03/2007, 18:06
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Check para activar o desactivar

Pues entonces cual es el problema entonces? Si no devuelve nada entonces la expresion SQL es incorrecta. Explicame ahora tu problema :D
  #7 (permalink)  
Antiguo 05/03/2007, 18:16
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Check para activar o desactivar

mmm a ver si ahora si explico bien lo que pasa...

tengo una lista donde activo o desactivo usuarios...

ok entonces tengo asi:

usuario 1 activo (id = 1)
usuario 2 NO activo ( id = 2)
usuerio 3 activo (id = 3)

Listo ahora quiero que el usuario dos se active y el 3 no

usuario 1 activo (id = 1)
usuario 2 activo ( id = 2)
usuerio 3 NO activo (id = 3)

El array queda asi entonces 1,2,3 y como tengo el query... a todos les pondria "Y" es decir los activa...

Pero si ahora lo que quiero es que no me active ninguno... entonces no me pasa nada en el array... pero nada es nada... cómo si no se creara..

mm ahora si estuvo mejor??
  #8 (permalink)  
Antiguo 05/03/2007, 18:23
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Check para activar o desactivar

No entiendo la totalidad de tu problema ni de tu proyecto, pero si entiendo es el hecho de que harías si no hay nada. Pues si la cadena es nula entonces toma las medidas del caso.

if ($val == "") {
// aqui puedes cambiar el valor de una variable o tomar las medidas respectivas
} else {
// aqui puedes tomar las medias cuando el check está desactivado.
}

Estoy seguro que no te he ayudado esta vez mucho. Creeme, yo he tratado esos problemas también y los he resuelto así que enviame tu codigo o sino agregame a tu msn: [email protected] :D
  #9 (permalink)  
Antiguo 05/03/2007, 18:33
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Check para activar o desactivar

ok, el arreglo pasa con los id de los usuarios, si estos usuarios no fueron seleccionados es decier no tiene checked.. entonces simplemente ese id no aparece... y no puedo modificar su estado de activo o inactivo..

Es decir, el arreglo siempre va con los id que han sido chequeados.. y estos los activa (son actualizados)...

Si tengo un id de usuario que antes era activo pero ahora no quiero que este activo no puedo modificar su valor, porque simplemente no me aparece el id de usuario en el array para saber que registro debo modificar...

ah ya te agregué a mi msn.
  #10 (permalink)  
Antiguo 05/03/2007, 21:25
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Check para activar o desactivar

perfecto, ahora si entiendo bien

La soluciòn està en no hacerlo con un array, sino cada uno su propio nombre, aqui se presentarìa otro problema, tal vez la cantidad de checks no sea fija, entonces como haces para captar todos esos valores? pues simple, haces que los nombres sean una contante seguido de unos numeros, los numeros serán consecutivos, esto lo puedes hacer con un for o un while, luego creas un campo oculto que te indique el numero maximo, asì los captas, suena complicado? lo es.

Espero te haya dado alguna idea para la soluciòn de tu problema.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 10:02.