Hola
Pues yo creo que el problema que tienes es más de la consulta o los parametros que envias desde la página y el manejo que le das en la que recibes
He puesto el codigo del input que tienes y , por ej, en mi caso yo hago un select * de municipios y pues siempre me muestra el primer registro en el campo de texto, es decir, si le mando como parametro el municipio 2 ese valor si me carga bien en el select pero no en el input pues porque tiene la restricción que traiga el primer registro siempre
Por esto mismo cambie el select y lo puse a filtrar con el municipio que le llega (estoy usando el nombre del municipio para filtrar pues no se si lo que le envias tu es el nombre o el id, pero seria cuestion de cambiar el campo sobre el cual filtrar dependiendo de lo que le envies
Ahora, como no has planteado como tienes tu bd ni nada similar, te muestro todo lo que yo tengo
Código sql:
Ver originalCREATE TABLE municipio (idmunicipio INT(6) PRIMARY KEY AUTO_INCREMENT, municipio VARCHAR(260) NOT NULL);
INSERT INTO municipio (municipio) VALUES ('municipio1'), ('municipio2');
Código php:
Ver original<?php
//$_POST['municipio'] es el nombre del municipio, y el formulario esta
//en este mismo script mas abajo, si quieres copia el codigo y lo pruebas
//cambiando los parametros de conexión a la bd
if( $_POST['municipio'] != '' ){
$result = mysql_query("SELECT idmunicipio, municipio FROM municipio WHERE municipio = '".$_POST['municipio']."'"); ?>
<select name="idmunicipio" id="idmunicipio" style="width:100px;" tabindex="5" onkeypress="return handleEnter(this, event)">
<?php
if($rows > 0) {
do {
?>
<option value="
<?php echo $row_municipio['municipio']?>"
<?php if (!(strcmp($row_municipio['municipio'], $_POST['municipio']))) {echo "SELECTED";} ?>>
<?php echo $row_municipio['municipio']?></option>
<?php
}
?>
</select>
<input name="textIdmunicipio" type="text" disabled="disabled" id="textIdmunicipio" value="
<?php print(mysql_result($result,0,'idmunicipio'));?>" size="30" maxlength="30">
<?php
}
else{
?>
<form method="post" action="<?php echo $PHP_SELF; ?>">
<input type = "text" name = "municipio">
<input type = "submit">
</form>
<?php
}
?>
Y pues esto ya me muestra tanto el id correcto en el campo de texto que tu posteaste y me filtra correctamente el select
Obviamente, al cambiar el select filtrandolo por el nombre o por el id, como se quiera, solo va a cargar un dato en el select, y si vas a editarlo y a cambiarlo de municipio (si es que estas editando una ciudad por ej) no lo vas a poder hacer, asi que deberias dejar la consulta asi
SELECT idmunicipio, municipio FROM municipio
Con esto alimentaria el select con todos los municipios, sin afectar el funcionamiento que este seleccionado el municipio que enviaste desde la pagina anterior
Bueno, espero ahora te funcione, a mi me esta funcionando bien
Saludos