Foros del Web » Programando para Internet » PHP »

Hacer una consulta, rellenando un formulario

Estas en el tema de Hacer una consulta, rellenando un formulario en el foro de PHP en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 06/10/2006, 06:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 86
Antigüedad: 18 años, 4 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?
  #2 (permalink)  
Antiguo 06/10/2006, 06:38
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
vamos por parte
primero
Código PHP:
<input type="checkbox" name="correo_postal" value="<?php echo $row["correo_postal"]; ?>">
que contiene $row["correo_postal"]???
value="ON"

si es asi, y tu quieres que aparesca con un ticket o checkeado, deberias probar de esta otra manera.

Código PHP:
<input type="checkbox" name="correo_postal" value="on" <?php if $row["correo_postal"]=="on" { echo "checked"; } ; ?>>
  #3 (permalink)  
Antiguo 06/10/2006, 06:55
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
y sobre tu select, yo lo haria algo asi:
Código PHP:
<?
$aTmp 
= array("Hombre","Mujer");
?>
<select type="select" >
<?
for($i=0;$i<=count($aTmp);$i++){
    
$Value      =    $aTemp[$i];
    
$Nombre     =    $aTemp[$i];
    if(
$Value   ==   $row["sexo"])
        
$Selected    =    "selected";
    echo 
"<option value=\"$Value\" $Selected>$Nombre</option>";
}
?>
</select>
Pueda que tenga algunos errores de sintaxis, pero esa es la idea :D

Última edición por .php; 06/10/2006 a las 08:28
  #4 (permalink)  
Antiguo 06/10/2006, 08:12
 
Fecha de Ingreso: noviembre-2005
Mensajes: 86
Antigüedad: 18 años, 4 meses
Puntos: 0
Gracias por las indicaciones

Muchas gracias por la rapidez de la respuesta, y por las indicaciones.
Lo voy a probar este fin de semana.
Este foro es de gran ayuda para los principiantes como yo.
Hasta pronto.
  #5 (permalink)  
Antiguo 09/10/2006, 02:58
 
Fecha de Ingreso: noviembre-2005
Mensajes: 86
Antigüedad: 18 años, 4 meses
Puntos: 0
Rellenar un formulario con una consulta a la Base de Datos


Efectivamente, funciona de maravilla.
Solo hace falta poner la condición IF entre parentesis, y a funcionar.
Muchas gracias por la ayuda.

Lo que no he conseguido que funcione es el menu desplegable. Me aparece vacio el select.
  #6 (permalink)  
Antiguo 09/10/2006, 08:30
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
Hola

Prueba si te sirve esto.

Código PHP:
<select name="id_tipo_prod" id="marca">
   <?php 
     
include ("conex.php");
     
$result=mysql_query("SELECT id_tipo_prod, tipo_prod FROM cat_producto ORDER BY tipo_prod;" ,$conex);
     while(
$var=mysql_fetch_array($result)):
     
$tipo_prod $var[tipo_prod];
     
//$nombre_pro = substr("$nombre_pro",0,60);
     
echo"<option value=\"$var[id_tipo_prod]\">$tipo_prod</option>";
     endwhile;
     
mysql_close($conex);
   
?>
  </select>
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 02:43.