Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recuperar el valor en un checkbox en php

Estas en el tema de Recuperar el valor en un checkbox en php en el foro de PHP en Foros del Web. Hola, He estado buscando alguna solución en intenet para recuperar el valor de un checkbox desde la base de datos mysql en php, mi problema ...
  #1 (permalink)  
Antiguo 29/01/2019, 10:58
 
Fecha de Ingreso: noviembre-2015
Mensajes: 55
Antigüedad: 3 años, 9 meses
Puntos: 2
Recuperar el valor en un checkbox en php

Hola,

He estado buscando alguna solución en intenet para recuperar el valor de un checkbox desde la base de datos mysql en php, mi problema es que todos los foros que he visitado recuperan los valores por arreglos y mi checkbox solo es uno, no requiere de un arreglo (por lo menos eso creo).
Cuando el checkbox ha sido marcado, envía el valor de 1 a la base de datos; si no ha sido marcado envía el valor de 0 a la base de datos. Pero cuando regresamos a la interfaz y el checkbox tiene valor 1, se supone que debe quedarse marcado.
He intentado hacerlo de diferentes formas y ninguna me ha resultado.
Alguien me puede ayudar?
Dejo el código que he estado tratando de arreglar:
Este es el php con el que quiero recuperar el valor de la base de datos->
Código PHP:
$sql "SELECT ligas_internet FROM medico WHERE id_medico = '".$id_medico."' ";
$resultado=mysqli_query($con,$sql);
$registro2=mysqli_fetch_assoc($resultado);
 
$ligas_internet=$registro2["ligas_internet"]; echo "string".$ligas_internet;
$checked = isset($ligas_internet) ? 'checked' '';
 if (
$ligas_internet == '1') {
     
$ligas_internet="checked";
 }else{
    
$ligas_internet="";
 } 
Este es el input:
Código HTML:
<label for="" class="check_boton"><input type="checkbox" class="checkboxx" name="ligas_internet" id="ligas_internet" value="1" $ligas_internet /> Ligas a páginas de internet sobre el laboratorio y sus productos.</label> 
Gracias por su apoyo
__________________
paco alonso
  #2 (permalink)  
Antiguo 29/01/2019, 13:26
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.442
Antigüedad: 11 años, 5 meses
Puntos: 1066
Respuesta: Recuperar el valor en un checkbox en php

isset no vale porque solo comprueba que exista el elemento en cuestion, asi que siempre dara positivo

ejecuta var_dump($ligas_internet) para que conozcas cual es valor regresado en cada caso, si es un string o un booleano

Por ultimo en el input solo muestras html y no se si es parte de un echo o estas colocando mal $ligas_internet

asi como lo pones yo diria que esta mal aplicado puesto que faltan las etiquetas de php

<?php echo $ligas_internet ?>
  #3 (permalink)  
Antiguo 29/01/2019, 15:21
 
Fecha de Ingreso: noviembre-2015
Mensajes: 55
Antigüedad: 3 años, 9 meses
Puntos: 2
Respuesta: Recuperar el valor en un checkbox en php

Gracias por tu respuesta, mira; lo resolví más fácil, no se ve muy elegante en el código pero funciona perfectamente.

Código PHP:
<?php 
 $sql 
"SELECT * FROM medico WHERE id_medico = '".$id_medico."' ";
$resultado=mysqli_query($con,$sql);
$registro2=mysqli_fetch_assoc($resultado);
 
$ligas_internet=$registro2["ligas_internet"]; 
if (
$ligas_internet==1) {
    echo 
'<label for="" class="check_boton"><input type="checkbox" class="checkboxx" name="ligas_internet" id="ligas_internet" value="1" checked="checked"/> Ligas a páginas de internet sobre el laboratorio y sus productos.</label>';
}else{
    echo 
'<label for="" class="check_boton"><input type="checkbox" class="checkboxx" name="ligas_internet" id="ligas_internet" value="1" /> Ligas a páginas de internet sobre el laboratorio y sus productos.</label>';
}
?>
Dupliqué el campo y lo condicioné con un "if else" para que cuando tenga valor llame al input type checkbox que tiene la propiedad checcked="checked" y cuando no tiene valor llama al input que no cuenta con esta propiedad.
Saludos y gracias
__________________
paco alonso

Etiquetas: checkbox, mysql, query, select, valor
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 11:20.