Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/09/2009, 22:18
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: Problema con listas dependientes.

Hay un pequeno lapsus en los while
Intenta con este ejemplo

Código php:
Ver original
  1. <?php
  2. //conexión a mysql
  3.  
  4. if (!empty($_POST['enviado'])){
  5.  
  6. echo "Procesando formulario:<br>";
  7. echo "Recibido id_tabla_padre: ".$_POST['id_padre']."<br>";
  8. echo "Recibido id_tabla_hija: ".$_POST['id_hija'];
  9.  
  10. } else {
  11.  
  12.    $conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
  13.    mysql_select_db($basedatos, $conexion) or die(mysql_error());
  14.  
  15.    $id_padre=$_POST['id_padre'];
  16.  
  17.    echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
  18.  
  19.    echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n";
  20.    echo "<option value=\"\"> Seleccione un Item </option>\n";
  21.  
  22.    $SQLconsulta_padre="SELECT * FROM lenguajes";
  23.    $consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
  24.  
  25.    while($registro_padre=mysql_fetch_assoc($consulta_padre)){
  26.       if ($id_padre == $registro_padre['id']){
  27.          echo "<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['lenguaje']."</option>\n";
  28.       } else {
  29.          echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['lenguaje']."</option>\n";
  30.       }
  31.     }
  32.    echo "</select>\n\n";
  33.  
  34.    mysql_free_result($consulta_padre);
  35.  
  36.    echo "<select name=\"id_hija\">\n";
  37.  
  38.    if (!empty($id_padre)){
  39.  
  40.        $SQLconsulta_hija="SELECT * FROM categorias WHERE id_lenguaje ='$id_padre'";
  41.        $consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
  42.  
  43.        if (mysql_num_rows($consulta_hija) != 0){
  44.           while($registro_hija=mysql_fetch_assoc($consulta_hija)){
  45.             echo "<option value=\"".$registro_hija['id']."\">".$registro_hija['categoria']."</option>\n";
  46.           }
  47.         } else {
  48.             echo "<option value=\"\"> No hay registros para este Item </option>";
  49.         }
  50.     } else {
  51.         echo "<option value=\"\"> <-- Seleccione un Item  </option>";
  52.     }
  53.  
  54.     mysql_free_result($consulta_hija);
  55.    
  56.     echo "</select>\n\n";
  57.     echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
  58.     echo "</form>\n";
  59. }
  60. ?>