Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/08/2003, 13:59
matrex
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 22 años, 6 meses
Puntos: 0
ok ya me muestra el tercer valor que se encuentra en la segunda tabla, pero no me funciona la selección de el registro asociado en especifico, el codigo que uso de ejemplo es el siguiente:

Código PHP:
  <?
// datos de conexion a la BD.
$servidor  ="localhost"// host
$usuario   ="root"
$clave     ="";
$basedatos ="ejemplo"// Indicar una Base de datos.

// si se ha pulsao el boton enviar ($enviado) se procesa el formulario ..
// Sino, se continua con el formulario y los nuevos valores de los Select ..
// OJO si se tienen mas varibles (mas <input> ) se van a perder sus valores a no ser
// que los obtengamos y se les de como valor inicial en el value= de cada uno segun corresponda.

if (!empty($_POST['enviado'])){

// Procesar el formulario ...
echo "Procesando formulario:<br>";
echo 
"Recibido id_tabla_estados: ".$_POST['id_estados']."<br>";
echo 
"Recibido id_tabla_municipios: ".$_POST['id_municipios'];


} else {

   
// Conexión a la BD
   
$conexion mysql_connect($servidor$usuario$clave) or die(mysql_error());
   
mysql_select_db($basedatos$conexion) or die(mysql_error());

   
// Obtener el $id_estados del envio a si mismo del formulario ..
   
$id_estados=$_POST['id_estados'];

   
// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script).
   
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";

   
// Formulario Seleccion "ESTADOS"./////////////////////////////////////////////////////////////////////////////////////////////
   
echo "<select name=\"id_estados\" onChange=\"this.form.submit()\">\n";
   echo 
"<option value=\"\"> Estados </option>\n";

   
$SQLconsulta_padre="SELECT * FROM tabla_estados";
   
$consulta_padre mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());

   While  (
$registro_padre=mysql_fetch_assoc($consulta_padre)){
      
// Se mira si el ID del registro es el mismo q el $id_estados q recibimos si hemos cambiado el select municipio.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
if ($id_estados == $registro_padre['id']){
         echo 
"<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['item_texto']."</option>\n";
      } else {
         echo 
"<option value=\"".$registro_padre['id']."\">".$registro_padre['item_texto']."</option>\n";
      }
    }
   echo 
"</select><BR>\n\n";
   echo 
"<BR>\n\n";

   
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.

   // Formulario Seleccion "MUNICIPIOS"//////////////////////////////////////////////////////////////////////////////////////////////
   
echo "<select name=\"id_municipios\"\">\n";
     echo 
"<BR>\n\n";
      echo 
"<BR>\n\n";
   
// Si $id_estados no tiene valor (caso de que no se ha seleccionado ningua opcion del select hijo
   // se muestra el mensaje de "seleccine un item" (del select padre).
   
if (!empty($id_estados)){

       
$SQLconsulta_hija="SELECT * FROM tabla_municipios2 WHERE fid='$id_estados'";
       
$consulta_hija mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
        


       
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
       
if (mysql_num_rows($consulta_hija) != 0){
          While  (
$registro_hija=mysql_fetch_assoc($consulta_hija)){
            echo 
"<option value=\"".$registro_hija['id']."\">".$registro_hija['item_texto']."</option>\n";
          }
        } else {
            echo 
"<option value=\"\"> No hay registros para este Item </option>";
        }
    } else {
        echo 
"<option value=\"\"> <-- Seleccione un Estado  </option>";
    }
   
      
// Formulario Seleccion cofinanciamiento//////////////////////////////////////////////////////////
   
echo "<select name=\"id_municipios\"\">\n";
     echo 
"<BR>\n\n";
      echo 
"<BR>\n\n";
   
// Si $id_estados no tiene valor (caso de que no se ha seleccionado ningua opcion del select hijo
   // se muestra el mensaje de "seleccine un item" (del select padre).
   
if (!empty($id_estados)){

       
$SQLconsulta_hija2="SELECT * FROM tabla_municipios2 nuke_xforum_threads WHERE fid='$id_estados'";
       
$consulta_hija2 mysql_query($SQLconsulta_hija2,$conexion) or die(mysql_error());
        


       
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
       
if (mysql_num_rows($consulta_hija2) != 0){
          While  (
$registro_hija2=mysql_fetch_assoc($consulta_hija2)){
            echo 
"<option value=\"".$registro_hija2['id']."\">".$registro_hija2['cof']."</option>\n";
          }
        } else {
            echo 
"<option value=\"\"> No hay registros para este Item </option>";
        }
    } else {
        echo 
"<option value=\"\"> <-- Seleccione un Estado  </option>";
    }
   


    
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
    
    
echo "</select>\n\n";

    echo 
"</form>\n";
}