Foros del Web » Programando para Internet » Javascript »

marcar Checkbox dede los registros en la Base de Datos

Estas en el tema de marcar Checkbox dede los registros en la Base de Datos en el foro de Javascript en Foros del Web. Hola soy nuevo en esto, y mas en este foro, ojala puedan ayudarme ya que me di de alta con la esperanza de que alguien ...
  #1 (permalink)  
Antiguo 06/09/2011, 17:10
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
marcar Checkbox dede los registros en la Base de Datos

Hola soy nuevo en esto, y mas en este foro, ojala puedan ayudarme ya que me di de alta con la esperanza de que alguien me tienda una mano.

Estoy trabajando con js y phpMyAdmin, mi duda es la siguiente:

Tengo una lista de checkbox , y se guardan perfectamente en la base de datos, pero cuando quiero consultar el registro veo los check vacios, como puedo hacer para q al realizar la consulta, pueda ver cuales son esos checkbox marcados, haciendo mi consulta a la base de datos.

Por favor ayudenme llevo dias en esto y no me keda, por favooooor!!!
  #2 (permalink)  
Antiguo 07/09/2011, 01:40
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 12 años, 7 meses
Puntos: 37
Pregunta Respuesta: marcar Checkbox dede los registros en la Base de Datos

No te daré todo el código php, por que supongo que ya sabes sobre conexion y eso... pero si te daré unas pautas ya que yo mismo hice eso, aunque no se si sea la forma más efectiva de hacerlo me funcionó:

Código PHP:
Ver original
  1. <?php
  2. //Iniciamos la conexion
  3. $conexion = mysql_connect('localhost','root','');
  4.  
  5. //traemos todos los datos de un registro esto de acuerdo a un dato que se haya //ingresado por cualquier metodo
  6. $consulta = 'SELECT * FROM Tabla WHERE dato='.$varDato;
  7.  
  8. $resultado = mysql_query($consulta, $conexion);
  9.  
  10. if ($resultado !== false) {
  11.     $datos = mysql_fetch_assoc( $resultado );
  12. }
  13.  
  14. //Suponiendo que el campo que representa el checkbox es un entero entre 1 y 0
  15. if ($datos['datoActivo'] === '1') {
  16.    $checked = 'checked="checked" ';
  17. } else {
  18.     $checked = ' ';
  19. }
  20.  
  21. //Supondiendo que ya se han procesado todos los demas datos y
  22. //esta listos para mostrarse en la página, ahora solo en el checkbox
  23. //de la página tenemos que imprimir la variable $checked
  24. ?>
  25. <html>
  26. <head>
  27. <title>Pagina nueva</title>
  28. </head>
  29. <body>
  30. <form>
  31. <input type="checkbox" name="datoActivo" value="valor" <?php echo $checked ?><label for="datoActivo">Dato Activo</label>
  32. </form>
  33. </body>
  34. </html>

Intenta haciéndolo de esa manera... y ten mucho cuidado al procesar este tipo de inputs, por que cuando se envian por medio de un formulario, si no se les da un valor por medio del atributo value, se enviará un 'on', y si no está seleccionado, contrario a lo que muchos creen, no se envia 'off' ni nada por el estilo, solo no se envia ningun dato relacionado con este checkbox por medio del método post, y si es preciso procesarlo, esto generará un error de indefinido (undefined) en php.

Exitos, y me dices si te funcionó

Última edición por Raziel_Ravenheart; 07/09/2011 a las 01:41 Razón: Corregir respuesta
  #3 (permalink)  
Antiguo 08/09/2011, 19:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: marcar Checkbox dede los registros en la Base de Datos

Muchas gracias por la ayuda, lo probe y hacendo unos ajuste funciona bien, el problema es cuando quiero cambiarlo a lenguaje js, ya q sigo con los mismos problemas, me pudieras de favor ayudar en js, quiero introducirlo dentro de una funcion. Pero desconosco muchas lineas de codigo existentes en este lenguaje, y no logro hacer quemis checkbox se marquen en mi consulta, es decir q en la modificacion se chequen automatcamente los q han sido dado de alta por el usuario.

Etiquetas: checkbox, js, marcar, php, registros
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 21:45.