Es un tema muy antiguo, parece que en 10 años nadie ha dado con la solución estable.
Estoy acabando un trabajo de IAW pero me falta completar una aplicación donde al entrar y seleccionar al usuario me rellenen automáticamente las cajas de texto del formulario con consultas de la BBDD.
Hay que declarar variables para leer la consulta, y dentro de la caja de texto, rellenar la etiqueta Value con la variable igual a esa consulta donde los valores de la tabla usuarios sean igual al nombre del usuario seleccionado en el desplegable, pero no me devuelve valores.
Actualiza tal y como viene el código pero no me rellena las cajas.
Los valores de la cuenta de phpmyadmin los he borrado pero pueden probar ustedes con otro servidor vuestro para ver como funciona.
Necesito que me rellene las cajas con los valores de la consulta del usuario seleccionado del desplegable.
Aquí el código fuente de la aplicación "actualizar1.php":
<HTML>
<HEAD>
<TITLE>Actualizar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar cuenta del usuario</h1>
<br>
<?php
//Conexion con la base
mysql_connect("localhost","nombredelusuario","cont rasenadePHPmyADMIN");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("nombredelabasedatos");
echo '<FORM METHOD="POST" ACTION="actualizar2.php">Nombre<br>';
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select nombre From usuarios Order By nombre";
$result=mysql_query($sSQL);
echo '<select name="nombre">';
echo $_POST['nombre'];
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["nombre"];}
?>
</select>
<br>
Aficiones
<INPUT TYPE="TEXT" NAME="aficiones" value="<?php uuuuu ?> "><br>
#donde uuuuuuuu hay que meter una variable con una consulta o lo que sea que muestre los valores del usuario seleccionado
Cocina
<INPUT TYPE="TEXT" NAME="cocina"><br>
Correo Email
<INPUT TYPE="TEXT" NAME="correo"><br>
Contraseña
<INPUT TYPE="password" NAME="contrasena"><br>
Ubicación
<select name="comunidad" id="comunidad">
<option value="0">Selecciona tu ubicación</option>
<option value="Andalucía">Andalucía</option>
<option value="Aragón">Aragón</option>
<option value="Principado de Asturias">Principado de Asturias</option>
<option value="Islas Baleares">Islas Baleares</option>
<option value="País Vasco">País Vasco</option>
<option value="Canarias">Canarias</option>
<option value="Cantabria">Cantabria</option>
<option value="Castilla-La Mancha">Castilla-La Mancha</option>
<option value="Castilla y León">Castilla y León</option>
<option value="Cataluña">Cataluña</option>
<option value="Extremadura">Extremadura</option>
<option value="Galicia">Galicia</option>
<option value="Comunidad de Madrid">Comunidad de Madrid</option>
<option value="Región de Murcia">Región de Murcia</option>
<option value="Comunidad Foral de Navarra">Comunidad Foral de Navarra</option>
<option value="La Rioja">La Rioja</option>
<option value="Comunidad Valenciana">Comunidad Valenciana</option>
<option value="Ceuta">Ceuta</option>
<option value="Melilla">Melilla</option>
</select>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>
</div>
</BODY>
</HTML>
después lo manda a otro fichero, "actualizar2.php" que ejecuta la actualización del usuario seleccionado en actualizar1.php:
<HTML>
<HEAD>
<TITLE>Actualizar2.php</TITLE>
</HEAD>
<BODY>
<?php
//Conexion con la base
mysql_connect("localhost","nombredelusuario","cont rasenadePHPmyADMIN");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("nombredelabasedatos");
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Update usuarios Set aficiones='".$_POST['aficiones']."', cocina='".$_POST['cocina']."', correo='".$_POST['correo']."', contrasena='".$_POST['contrasena']."', comunidad='".$_POST['comunidad']."' Where nombre='".$_POST['nombre']."'";
mysql_query($sSQL);
?>
<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="listupdate.php">Visualizar el contenido de la tabla de usuarios registrados</a></div>
</BODY>
</HTML>
-----------------------------------------------------------------
gracias de antemano.