Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/09/2009, 21:28
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 6 meses
Puntos: 214
Respuesta: Combobox no me muestra los datos al entrar en la página de modificaciones

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 original
  1. CREATE TABLE municipio (idmunicipio INT(6) PRIMARY KEY AUTO_INCREMENT, municipio VARCHAR(260) NOT NULL);
  2. INSERT INTO municipio (municipio) VALUES ('municipio1'), ('municipio2');

Código php:
Ver original
  1. <?php
  2. //$_POST['municipio'] es el nombre del municipio, y el formulario esta
  3. //en este mismo script mas abajo, si quieres copia el codigo y lo pruebas
  4. //cambiando los parametros de conexión a la bd
  5. if( $_POST['municipio'] != '' ){
  6. $conn = mysql_connect("localhost", "test", "test");
  7. $result = mysql_query("SELECT idmunicipio, municipio FROM municipio WHERE municipio = '".$_POST['municipio']."'");
  8. ?>
  9. <select name="idmunicipio" id="idmunicipio" style="width:100px;" tabindex="5" onkeypress="return handleEnter(this, event)">
  10.         <?php
  11.         $rows = mysql_num_rows($result);
  12.   if($rows > 0) {
  13.       mysql_data_seek($result, 0);
  14.       $row_municipio = mysql_fetch_assoc($result);
  15.   do {  
  16. ?>
  17.         <option value="<?php echo $row_municipio['municipio']?>"<?php if (!(strcmp($row_municipio['municipio'], $_POST['municipio']))) {echo "SELECTED";} ?>><?php echo $row_municipio['municipio']?></option>
  18.         <?php
  19. } while ($row_municipio = mysql_fetch_assoc($result));
  20.  
  21.  
  22.   }
  23.  
  24. ?>
  25.       </select>
  26.       <input name="textIdmunicipio" type="text" disabled="disabled" id="textIdmunicipio" value="<?php print(mysql_result($result,0,'idmunicipio'));?>" size="30" maxlength="30">
  27. <?php
  28.  }
  29.  else{
  30.  ?>
  31.  <form method="post" action="<?php echo $PHP_SELF; ?>">
  32.  <input type = "text" name = "municipio">
  33.  <input type = "submit">
  34.  </form>
  35.  <?php
  36.  }
  37. ?>

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