CARGAR LOS VALORES DE UN CHECKBOX LIST DESDE BASE DE DATOS
Luego de recuperar los valores (para name y value)
de la base de datos repetimos tantas option como registros con un
while.
No olvidar el free_results y close
finales y cerrar la etiqueta.
En la sentencia SELECT LIMIT 1,15 nos da los registros primeros y
evita que un error llene el select o ponga demasiados checkbox. O sea comienza en el registro 1
y solo devuelve 15 registros.
Si el INPUT type="checkbox" tiene el atributo checked aparecerá tildado,
esto tb puede ser codificado desde la dB con un if.
<head>
.........
<?
include("conexion.php"); // abre la conexión a la base de datos
?>
.........
</head>
<body>
.........
<div style="margin: 0 auto; padding:15px;">
<div style="margin-bottom:20px;">
Checkbox list cargado desde la base de datos<br/>
Todos tildados por html. En linea horizontal
</div>
<?
conectar();
$sqltxt = "SELECT id,nombre FROM usuarios ORDER BY nombre DESC";
$sqldevolucion = mysqli_query($conn,$sqltxt);
while ($rs = mysqli_fetch_array($sqldevolucion, MYSQLI_ASSOC)){
?>
<div style=" display:inline-table; text-align:left" >
<? echo $rs["nombre"];?>
<input id="<? echo $rs["id"];?>" name="<? echo $rs["nombre"];?>" type="checkbox" value="<? echo $rs["nombre"];?>" checked />
</div>
<?
}
mysqli_free_result($sqldevolucion);
mysqli_close($conn);
?>
<div style="margin-bottom:20px; margin-top:40px;">
Checkbox list cargado desde la base de datos<br/>
Tildados por dB sobre el campo booleano activo.Susana y pedro tienen 1 <br/>
Verticales
</div>
<?
conectar();
$sqltxt = "SELECT id,nombre,activo FROM usuarios ORDER BY nombre DESC";
$sqldevolucion = mysqli_query($conn,$sqltxt);
while ($rs = mysqli_fetch_array($sqldevolucion, MYSQLI_ASSOC)){
if($rs["activo"]){
$ch="checked";
}else{
$ch="";
}
?>
<div style=" display:block; text-align:left" >
<input id="<? echo $rs["id"];?>" name="<? echo $rs["nombre"];?>" type="checkbox" value="<? echo $rs["nombre"];?>" <? echo $ch;?> />
<? echo $rs["nombre"];?>
</div>
<?
}
mysqli_free_result($sqldevolucion);
mysqli_close($conn);
?>
</div>
.........
</body>