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<?php
//Iniciamos la conexion
//traemos todos los datos de un registro esto de acuerdo a un dato que se haya //ingresado por cualquier metodo
$consulta = 'SELECT * FROM Tabla WHERE dato='.$varDato;
if ($resultado !== false) {
}
//Suponiendo que el campo que representa el checkbox es un entero entre 1 y 0
if ($datos['datoActivo'] === '1') {
$checked = 'checked="checked" ';
} else {
$checked = ' ';
}
//Supondiendo que ya se han procesado todos los demas datos y
//esta listos para mostrarse en la página, ahora solo en el checkbox
//de la página tenemos que imprimir la variable $checked
?>
<html>
<head>
<title>Pagina nueva</title>
</head>
<body>
<form>
<input type="checkbox" name="datoActivo" value="valor" <?php echo $checked ?><label for="datoActivo">Dato Activo</label>
</form>
</body>
</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ó