Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2006, 06:22
informa
 
Fecha de Ingreso: noviembre-2005
Mensajes: 86
Antigüedad: 18 años, 5 meses
Puntos: 0
Hacer una consulta, rellenando un formulario

Hola: Al hacer una consulta, quiero rellenar un formulario con los datos de una Base de Datos, para que se compruebe y se modifique posteriormente, si existe algún error.

En los imput normales, tipo text, no hay ningún problema. Sin embargo, cuando hay chekbox o radio, no aparece el formulario por defecto con la marca correspondiente (el valor del checkbox seleccionado se graba en la Base de Datos como value="ON").

¿cómo debería hacerlo?

Un resumen del código es éste:

<?php
$usuario = $_POST["usuario"];
include ("conectar.php");
$result = mysql_query("select * from usuarios WHERE usuario='$usuario'");
?>

<html>
<body>
<table>
<?php
while($row = mysql_fetch_array($result))
{
?>
<tr>
<td>Usuario: <?php echo $row["usuario"]; ?></td>
</tr>
.....................etc.
<tr>
<td>Preferencia de contacto: <input type="checkbox" name="correo_postal" value="<?php echo $row["correo_postal"]; ?>">Correo postal &nbsp; &nbsp; <input type="checkbox" name="email" value="<?php echo $row["email"]; ?>">Email &nbsp; &nbsp; <input type="checkbox" name="telefono" value="<?php echo $row["telefono"]; ?>">Teléfono</td>
</tr>
<tr>
<td>Sexo: <select type="select" >
<option selected value="<?php echo $row["sexo"]; ?>"><?php echo $row["sexo"]; ?></option>
<option value="Hombre">Hombre</option>

<option value="Mujer">Mujer</option>

</select>
</td>
</tr>
.......................................... etc.
</table>
<?
}
mysql_close($conectar);
?>

Otro pequeño defecto: En los select, de acuerdo al código que he puesto, me aparece por defecto el valor grabado en la Base de Datos, pero al abrir el menú desplegable vuelve a repetirse el valor puesto en el selected (por ejemplo, Hombre), en lugar de posicionarse directamente en un menú desplegable donde solo hubiese las dos opciones de Hombre, o Mujer.
¿Esto tiene que ser así, o hay otra forma de forzar el relleno del formulario?