Foros del Web » Programando para Internet » PHP »

Lista Desplegable II

Estas en el tema de Lista Desplegable II en el foro de PHP en Foros del Web. el ejemplo de lista desplegable se adapta en parte a lo que deseo hacer. Adicional a esto quisiera que con la lista hija, esta a ...
  #1 (permalink)  
Antiguo 05/08/2003, 08:23
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 23 años
Puntos: 0
Pregunta Lista Desplegable II

el ejemplode lista desplegable se adapta en parte a lo que deseo hacer.

Adicional a esto quisiera que con la lista hija, esta a su vez, al ser escojida una selección, mostrara los resultado de una consulta en otra tabla que se relacione con el ID correspondiente.

Por ejemplo tabla_padre (estados) tabla_hija(municipios) y al seleccionar esta que contendra un onChange=\"this.form.submit() para su refres, en su seleccion muestre el print de los resultados de una tabla que contendra una breve reseña del municipio.

si alguien me puede dar una mano se lo agradezco....
  #2 (permalink)  
Antiguo 05/08/2003, 10:06
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
Bueno, lo único que puedo decirte ya tienes un ejemplo con dos, si hay con dos se puede hacer para 2,3,4,n, repasa la lógia del funcioanmiento del código, e intenta hacerlo, y cuando haya dudas o errores, copn gusto podremos ayudarte, lo mejor es intentar.

Teniendo un avance tuyo, mas ganas dará ayudarte.

Saludos
  #3 (permalink)  
Antiguo 05/08/2003, 13:59
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 23 años
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";
}
  #4 (permalink)  
Antiguo 05/08/2003, 20:04
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
Retomando, muy bien, cuando dices "no me funciona la selección de el registro asociado", te refieres a la reseña que quieres mostrar?, segun entiendo está en la segunda tabla. Enviame en mensaje privado el dump de tu tabla, con los datos incluso, para yo poder ejecutarlo en mi server, y modificarlo mas rápido.

Saludos
  #5 (permalink)  
Antiguo 06/08/2003, 07:58
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 23 años
Puntos: 0
aqui estan las tablas que uso

# Estructura de tabla para tabla `tabla_estados`
#

CREATE TABLE tabla_estados (
id smallint(3) unsigned NOT NULL auto_increment,
item_texto varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

#
# Volcar la base de datos para la tabla `tabla_estados`
#

INSERT INTO tabla_estados VALUES (2, 'Amazonas');
INSERT INTO tabla_estados VALUES (9, 'Anzoategui');
INSERT INTO tabla_estados VALUES (30, 'Apure');
INSERT INTO tabla_estados VALUES (39, 'Aragua');
INSERT INTO tabla_estados VALUES (59, 'Barinas');
INSERT INTO tabla_estados VALUES (73, 'Bolivar');
INSERT INTO tabla_estados VALUES (86, 'Carabobo');
INSERT INTO tabla_estados VALUES (102, 'Cojedes');
INSERT INTO tabla_estados VALUES (113, 'Delta Amacuro');
INSERT INTO tabla_estados VALUES (119, 'Distrito Metropolitano');
INSERT INTO tabla_estados VALUES (121, 'Falcon');
INSERT INTO tabla_estados VALUES (148, 'Guárico');
INSERT INTO tabla_estados VALUES (165, 'Lara');
INSERT INTO tabla_estados VALUES (176, 'Merida');
INSERT INTO tabla_estados VALUES (201, 'Miranda');
INSERT INTO tabla_estados VALUES (224, 'Monagas');
INSERT INTO tabla_estados VALUES (239, 'Nueva Esparta');
INSERT INTO tabla_estados VALUES (252, 'Portuguesa');
INSERT INTO tabla_estados VALUES (268, 'Sucre');
INSERT INTO tabla_estados VALUES (285, 'Tachira');
INSERT INTO tabla_estados VALUES (316, 'Trujillo');
INSERT INTO tabla_estados VALUES (338, 'Vargas');
INSERT INTO tabla_estados VALUES (341, 'Yaracuy');
INSERT INTO tabla_estados VALUES (356, 'Zulia');
  #6 (permalink)  
Antiguo 06/08/2003, 07:59
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 23 años
Puntos: 0
y la segunda:


# Estructura de tabla para tabla `tabla_municipios2`
#

CREATE TABLE tabla_municipios2 (
id smallint(3) unsigned NOT NULL auto_increment,
fid smallint(3) unsigned NOT NULL default '0',
item_texto varchar(255) NOT NULL default '',
cof float NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM;

#
# Volcar la base de datos para la tabla `tabla_municipios2`
#

INSERT INTO tabla_municipios2 VALUES (1, 119, 'ALCALDIA MAYOR', '0.5');
INSERT INTO tabla_municipios2 VALUES (2, 119, 'LIBERTADOR', '0.2');
INSERT INTO tabla_municipios2 VALUES (3, 2, 'GOBERNACION', '0.25');
INSERT INTO tabla_municipios2 VALUES (4, 2, 'AUTÓNOMO ALTO ORINOCO', '0.1');
INSERT INTO tabla_municipios2 VALUES (5, 2, 'AUTÓNOMO ATABAPO', '0.1');
INSERT INTO tabla_municipios2 VALUES (6, 2, 'AUTÓNOMO ATURES', '0.2');
INSERT INTO tabla_municipios2 VALUES (7, 2, 'AUTÓNOMO AUTANA', '0.1');
INSERT INTO tabla_municipios2 VALUES (8, 2, 'AUTÓNOMO GUAINIA', '0.1');
INSERT INTO tabla_municipios2 VALUES (9, 2, 'AUTÓNOMO MANAPIARE', '0.1');
INSERT INTO tabla_municipios2 VALUES (10, 2, 'AUTÓNOMO RIO NEGRO', '0.1');
INSERT INTO tabla_municipios2 VALUES (11, 9, 'GOBERNACION', '0.5');
INSERT INTO tabla_municipios2 VALUES (12, 9, 'ANACO', '0.2');
INSERT INTO tabla_municipios2 VALUES (13, 9, 'ARAGUA', '0.1');
INSERT INTO tabla_municipios2 VALUES (14, 9, 'FERNANDO PEÑALVER', '0.1');
INSERT INTO tabla_municipios2 VALUES (15, 9, 'FRANCISCO DE MIRANDA', '0.1');
INSERT INTO tabla_municipios2 VALUES (16, 9, 'FRANCISCO DEL CARMEN CARVAJAL', '0.1');
INSERT INTO tabla_municipios2 VALUES (17, 9, 'GUANTA', '0.1');
INSERT INTO tabla_municipios2 VALUES (18, 9, 'INDEPENDENCIA', '0.1');
INSERT INTO tabla_municipios2 VALUES (19, 9, 'JOSÉ GREGORIO MONAGAS', '0.1');
INSERT INTO tabla_municipios2 VALUES (20, 9, 'JUAN ANTONIO SOTILLO', '0.2');
INSERT INTO tabla_municipios2 VALUES (21, 9, 'JUAN MANUEL CAJIGAL', '0.1');
INSERT INTO tabla_municipios2 VALUES (22, 9, 'LIBERTAD', '0.1');
INSERT INTO tabla_municipios2 VALUES (23, 9, 'MANUEL EZEQUIEL BRUZUAL', '0.1');
INSERT INTO tabla_municipios2 VALUES (24, 9, 'PEDRO MARÍA FREITES', '0.2');
INSERT INTO tabla_municipios2 VALUES (25, 9, 'PIRITU', '0.1');
INSERT INTO tabla_municipios2 VALUES (26, 9, 'SAN JOSÉ DE GUANIPA', '0.2');
INSERT INTO tabla_municipios2 VALUES (27, 9, 'SAN JUAN DE CAPISTRANO', '0.1');
INSERT INTO tabla_municipios2 VALUES (28, 9, 'SANTA ANA', '0.1');
INSERT INTO tabla_municipios2 VALUES (29, 9, 'SIMÓN BOLÍVAR', '0.2');
INSERT INTO tabla_municipios2 VALUES (30, 9, 'SIMÓN RODRIGUEZ', '0.2');
INSERT INTO tabla_municipios2 VALUES (31, 9, 'SIR ARTUR MC GREGOR', '0.1');
INSERT INTO tabla_municipios2 VALUES (32, 9, 'TURISTICO DIEGO BAUTISTA URBANEJA', '0.1');
INSERT INTO tabla_municipios2 VALUES (33, 30, 'GOBERNACION', '0.25');
INSERT INTO tabla_municipios2 VALUES (34, 30, 'ACHAGUAS', '0.2');
INSERT INTO tabla_municipios2 VALUES (35, 30, 'BIRUACA', '0.1');
INSERT INTO tabla_municipios2 VALUES (36, 30, 'MUÑOZ', '0.1');
INSERT INTO tabla_municipios2 VALUES (37, 30, 'PÁEZ', '0.2');
INSERT INTO tabla_municipios2 VALUES (38, 30, 'PEDRO CAMEJO', '0.1');
INSERT INTO tabla_municipios2 VALUES (39, 30, 'ROMULO GALLEGOS', '0.1');
INSERT INTO tabla_municipios2 VALUES (40, 30, 'SAN FERNANDO', '0.2');
INSERT INTO tabla_municipios2 VALUES (41, 39, 'GOBERNACION', '0.5');
INSERT INTO tabla_municipios2 VALUES (42, 39, 'BOLÍVAR', '0.1');
INSERT INTO tabla_municipios2 VALUES (43, 39, 'CAMATAGUA', '0.1');
INSERT INTO tabla_municipios2 VALUES (44, 39, 'FRANCISCO LINARES ALCANTARA', '0.2');
INSERT INTO tabla_municipios2 VALUES (45, 39, 'GIRARDOT', '0.2');
INSERT INTO tabla_municipios2 VALUES (46, 39, 'JOSÉ ANGEL LAMAS', '0.1');
INSERT INTO tabla_municipios2 VALUES (47, 39, 'JOSÉ FELIX RIBAS', '0.2');
INSERT INTO tabla_municipios2 VALUES (48, 39, 'JOSÉ RAFAEL REVENGA', '0.1');
INSERT INTO tabla_municipios2 VALUES (49, 39, 'LIBERTADOR', '0.1');
INSERT INTO tabla_municipios2 VALUES (50, 39, 'MARIO BRICEÑO IRAGORRY', '0.2');
INSERT INTO tabla_municipios2 VALUES (51, 39, 'OCUMARE DE LA COSTA', '0.1');
INSERT INTO tabla_municipios2 VALUES (52, 39, 'SAN CASIMIRO', '0.1');
INSERT INTO tabla_municipios2 VALUES (53, 39, 'SAN SEBASTIAN', '0.1');
INSERT INTO tabla_municipios2 VALUES (54, 39, 'SANTIAGO MARIÑO', '0.2');
INSERT INTO tabla_municipios2 VALUES (55, 39, 'SANTOS MICHELENA', '0.1');
INSERT INTO tabla_municipios2 VALUES (56, 39, 'SUCRE', '0.2');
INSERT INTO tabla_municipios2 VALUES (57, 39, 'TOVAR', '0.1');
INSERT INTO tabla_municipios2 VALUES (58, 39, 'URDANETA', '0.1');
INSERT INTO tabla_municipios2 VALUES (59, 39, 'ZAMORA', '0.2');
INSERT INTO tabla_municipios2 VALUES (60, 59, 'GOBERNACION', '0.25');
INSERT INTO tabla_municipios2 VALUES (61, 59, 'ANDRES ELOY BLANCO', '0.1');
INSERT INTO tabla_municipios2 VALUES (62, 59, 'ALBERTO ARVELO TORREALBA', '0.1');
INSERT INTO tabla_municipios2 VALUES (63, 59, 'ANTONIO JOSÉ DE SUCRE', '0.1');
INSERT INTO tabla_municipios2 VALUES (64, 59, 'ARISMENDI', '0.1');
INSERT INTO tabla_municipios2 VALUES (65, 59, 'BARINAS', '0.2');
INSERT INTO tabla_municipios2 VALUES (66, 59, 'BOLÍVAR', '0.1');
INSERT INTO tabla_municipios2 VALUES (67, 59, 'CRUZ PAREDES', '0.1');
INSERT INTO tabla_municipios2 VALUES (68, 59, 'EZEQUIEL ZAMORA', '0.1');
INSERT INTO tabla_municipios2 VALUES (69, 59, 'OBISPOS', '0.1');
INSERT INTO tabla_municipios2 VALUES (70, 59, 'PEDRAZA', '0.1');
INSERT INTO tabla_municipios2 VALUES (71, 59, 'ROJAS', '0.1');
INSERT INTO tabla_municipios2 VALUES (72, 59, 'SOSA', '0.1');
INSERT INTO tabla_municipios2 VALUES (73, 73, 'GOBERNACION', '0.5');
INSERT INTO tabla_municipios2 VALUES (74, 73, 'CARONI', '0.2');
INSERT INTO tabla_municipios2 VALUES (75, 73, 'CEDEÑO', '0.1');
INSERT INTO tabla_municipios2 VALUES (76, 73, 'EL CALLAO', '0.1');
INSERT INTO tabla_municipios2 VALUES (77, 73, 'GRAN SABANA', '0.1');
INSERT INTO tabla_municipios2 VALUES (78, 73, 'HERES', '0.2');
INSERT INTO tabla_municipios2 VALUES (79, 73, 'PEDRO PADRE CHIEN', '0.1');
INSERT INTO tabla_municipios2 VALUES (80, 73, 'PIAR', '0.1');
INSERT INTO tabla_municipios2 VALUES (81, 73, 'RAUL LEONI', '0.1');
INSERT INTO tabla_municipios2 VALUES (82, 73, 'ROSCIO', '0.1');
INSERT INTO tabla_municipios2 VALUES (83, 73, 'SIFONTES', '0.1');
INSERT INTO tabla_municipios2 VALUES (84, 73, 'SUCRE', '0.1');
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.