Hola mira hice un ejemplo sencillo:
<html>
<head>
<script>
function pon_descripcion()
{ form1.submit();}
</script>
</head>
<body>
<?php
if(isset($_GET["animal"]))
{
$conn = mysql_connect("localhost","root","") or die("no se puede conectar a Mysql Server");
mysql_select_db("test",$conn);
$desc = $_GET['animal'];
$sql= "select descripcion from tablaejemplo where nombre = '". $desc ."'";
$rs = mysql_query($sql,$conn);
$sel = mysql_fetch_row($rs);
}
?>
<form name="form1" method="GET" action="ecompleto.php">
<p>
<select name="animal" id="select6" onChange="pon_descripcion()" >
<option value="-1">Seleccione una opción</option>
<option value="Perro">Perro</option>
<option value="Vaca">Vaca</option>
</select>
<input name="txtdesc" type="text" id="txtdesc" <? if(isset($_GET["animal"])) {echo "value='$sel[0]'";} ?> >
</p>
<p>
<input type="text" name="dato1" value="<?= $_GET['dato1'] ?>"/>
</p>
</form>
</body>
</html>
Me conecto a mi bd, que tiene una tabla que se llama tablaejemplo y 2 campos nombre y descripcion y ahi en mi php dependiendo del nombre que escoja me trae la descripcion de la bd, claro mi select yo lo hice fijo pero tu lo haces dinamico de la bd vdd? entonces ahi no tienes problema, y abajo pongo un campo de texto fijate y trae algo extra en el value, esto es para que cuando hagas el submit no te pierda lo que escribiste ok? Cualquier cosa aquí andamos.
Saludos!!