PHP - traer valor de una consulta a un checkbox

   
Vista:

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 02/04/2015 22:27:44
Tengo este query:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$consulta2 = "SELECT paciente.nrohistoria,
       paciente.nombres,
       paciente.apellidos,
       paciente.direccion,
       paciente.cta_correo,
       paciente.telefono,
       paciente.fecha_nac,
       public.sexo.descripcion As sexo, 
       public.gsanguineo.descripcion As sanguineo,
       public.consulta.hepatitisa,consulta.hepatitisb,
       paciente.id_paciente
  FROM paciente,consulta,sexo,gsanguineo
 WHERE public.paciente.cod_sexo=sexo.codigo
   AND public.paciente.cod_sanguineo=gsanguineo.codigo
   AND paciente.id_paciente = consulta.id_paciente
   AND public.paciente.nrohistoria = '{$_POST['nrohistoria']}'";
y el valor de los campos en negritas tengo que reflejarlos en un checkbox, pero no esta funcionando:
debiera quedar asi:
1
2
<input name="checkhepap" type="checkbox" value="<?php echo $consulta3['hepatitisa']?>">
<input name="checkhepap" type="checkbox" value="<?php echo $consulta3['hepatitisb']?>">

si alguien pudiera ayudarme, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 02/04/2015 23:21:53
Olvidaba señalar que en la tabla el valor del campo hepatitisa es de tipo numeric y puede tener 1 o 0

estoy haciendo esta pregunta:
1
2
3
4
5
6
7
8
9
10
<?php if ($consulta3['hepatitisa'] == 1){
     				   		$hepa = $consulta3['hepatitisa'] = true;
							}
						 else
						 {
						  $hepa = $consulta3['hepatitisa'] = false;
				   	}
				   ?>
				   Hepatitis A:
				   <input name="checkhepap" type="checkbox" value="<?php echo $hepa ?>">
pero sigue sin funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

traer valor de una consulta a un checkbox

Publicado por xve (5513 intervenciones) el 03/04/2015 07:59:57
Hola Zendi, puede ser que la consulta no devuelve ningún valor para hepatitisa...
Que es "public" en tu consulta sql? no hay ninguna tabla que se llame así, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 03/04/2015 15:42:48
Hola Xve, public es el esquema en postgresql, la tabla se llama consulta claro el campo es numeric y tiene valor de 1 en este caso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 03/04/2015 18:29:10
esta es la situacion de la tabla en la base de datos



consulta

con la pregunta esta debiera hacerlo.

1
2
3
4
5
6
7
8
9
10
11
<?php if ($consulta3['hepatitisa'] == 1){
    $si = $consulta3['hepatitisa'] = TRUE;
 
    }
    else
    {
    $si = $consulta3['hepatitisa'] = FALSE;
}
?>
Hepatitis A:
<input name="checkhepap" type="checkbox" value="<?php echo $si; ?>">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

traer valor de una consulta a un checkbox

Publicado por xve (5513 intervenciones) el 04/04/2015 08:39:54
Gracias por comentarlo Zendi...

El condicional es correcto, por lo que entiendo que no devuelve 1... has probado a hacer un
1
print_r($consulta3);

haber que valores te devuelve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 04/04/2015 18:03:13
Que tal Xve, bueno con print_r

Imprime esto:
Array ( [0] => 12 [nrohistoria] => 12 [1] => la bochi [nombres] => la bochi [2] => CUELLO [apellidos] => CUELLO [3] => njhh [direccion] => njhh [4] => jnkjkj [cta_correo] => jnkjkj [5] => 2126152685 [telefono] => 2126152685 [6] => 2014-03-02 [fecha_nac] => 2014-03-02 [7] => 2015-03-01 [fecha] => 2015-03-01 [8] => VARON [sexo] => VARON [9] => A+ [sanguineo] => A+ [10] => 1 [hepatitisa] => 1 [11] => 0 [hepatitisb] => 0 [12] => 12 [id_paciente] => 12 )

se ve que el valor es 1. La idea es que si es igual a 1 debe marcar el checkbox, sino que no lo haga. ¿Sera algun problema con el booleano?
Es Bastante extraño.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

traer valor de una consulta a un checkbox

Publicado por xve (5513 intervenciones) el 04/04/2015 21:00:57
Hola Zendi, ya veo donde esta el error...

El <input type="checkbox"... no tiene la propiedad value!!!

si lo quieres marcar como marcado, tienes que utilizar checked, prueba a poner:
1
<input name="checkhepap" type="checkbox" <?php echo ($consulta3['hepatitisa']?"checked":"") ?>>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 05/04/2015 04:42:18
Hola Xve, bueno ya tenia el value y estoy probando con la linea de codigo que me enviaste pero sigue igual
de todos modos asi esta el codigo:

1
2
3
4
5
6
7
8
9
10
Hepatitis A:
				   <?php if ($consulta3['hepatitisa'] === 1){
     				   		$consulta3['hepatitisa'] = true;
							}
						 else
						 {
						  $consulta3['hepatitisa'] = false;
				   	}
				   ?>
<input name="checkhepap" type="checkbox" value="<?php echo $consuta3['hepatitisa']; ?>" <?php echo ($consulta3['hepatitisa']?"checked":"") ?>>

si puedes ver algo que yo no veo. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 05/04/2015 21:00:14
Que tal Xve, coloqué un var_dump y esto es lo que arroja:

1
2
3
4
5
6
7
8
9
10
array(26) { [0]=> string(2) "12" ["nrohistoria"]=> string(2) "12" [1]=> string(8) "la bochi" ["nombres"]=> string(8)
 "la bochi" [2]=> string(6) "CUELLO" ["apellidos"]=> string(6)
 "CUELLO" [3]=> string(4) "njhh" ["direccion"]=> string(4)
 "njhh" [4]=> string(6) "jnkjkj" ["cta_correo"]=> string(6)
 "jnkjkj" [5]=> string(10) "2126152685" ["telefono"]=> string(10)
"2126152685" [6]=> string(10) "2014-03-02" ["fecha_nac"]=> string(10)
"2014-03-02" [7]=> string(10) "2015-03-01" ["fecha"]=> string(10)
"2015-03-01" [8]=> string(5) "VARON" ["sexo"]=> string(5)
 "VARON" [9]=> string(2) "A+" ["sanguineo"]=> string(2) "A+" [10]=> string(1)
"1" ["hepatitisa"]=> bool(false) [11]=> string(1) "0" ["hepatitisb"]=> string(1) "0" [12]=> string(2) "12" ["id_paciente"]=> string(2) "12" }
lo que no entiendo es por qué el valor hepatitisa aparece bool(false) si trae el valor 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 05/04/2015 21:21:19
Ya esta resuleto XVe, resulta que el error estaba cuando pregunto con triple igualdad ===
asi: <?php if ($consulta3['hepatitisa'] == 1) lo puse con doble igualdad y listo
<?php if ($consulta3['hepatitisa'] == 1) Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

traer valor de una consulta a un checkbox

Publicado por xve (5513 intervenciones) el 05/04/2015 21:42:04
Gracias por comentarlo Zendi!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

traer valor de una consulta a un checkbox

Publicado por zendi (824 intervenciones) el 04/04/2015 18:51:19
Coloqué esta otra pregunta para ver si imprime cuando sea boolean
1
2
3
4
5
6
7
8
9
10
11
12
<?php if ($consulta3['hepatitisa'] === 1){
    $si = $consulta3['hepatitisa'] = true;
    }
    else
    {
    $si = $consulta3['hepatitisa'] = false;
}
?>
<?php
    if (is_bool($si) === true) {
        print_r($si) ."Sí, esto es un buleano";
    }?>
pero persiste el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar