Foros del Web » Creando para Internet » Herramientas y Software »

lista/menu en dreamweaver

Estas en el tema de lista/menu en dreamweaver en el foro de Herramientas y Software en Foros del Web. hola buenas a todos/as. tengo dos listas/meno con datos de una base de datos. lo que me gustaría ahcer, que cuadno seleccióno algo en uno ...
  #1 (permalink)  
Antiguo 02/04/2004, 00:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 21 años
Puntos: 0
lista/menu en dreamweaver

hola buenas a todos/as.
tengo dos listas/meno con datos de una base de datos.
lo que me gustaría ahcer, que cuadno seleccióno algo en uno de los menos ejemplo, pasi: españa, que en el toro menu solo saliese +34 por ejemplo.
que saliese lo que en la base de datos está junto los dos datos.

no se si me e explicado.
al selección algo en un menu el toro cambie según lo que pongas.


es esto posible?


graias por leerme, espero sus respuestas.
__________________
___________________________

DEL_DAN
  #2 (permalink)  
Antiguo 02/04/2004, 14:06
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 23 años
Puntos: 4
Necesitas son dos listas dependientes, según uncampo de bd. Que lenguaje estás utilizando? en el foro de php está en las FAQS solucionad en php. Creo que deberías ir al foro del lenguje. Hay otra solución Javascript pero esa es estática.


Saludos
__________________
EL LIMITE ES EL UNIVERSO
  #3 (permalink)  
Antiguo 16/04/2004, 02:07
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 21 años
Puntos: 0
estoy usando php y mysql. como lenguajes.

todo esto en interfaz de dreamweaver mx.


hay que dependizar las dos listas.
como se hace eso?
__________________
___________________________

DEL_DAN
  #4 (permalink)  
Antiguo 19/04/2004, 14:20
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 23 años
Puntos: 4
Código PHP:
Tema: Formularios+Mysql

Pregunta: Como hacer una lista desplegable (<select> ) con valores de una tabla Mysql que dependa del valor seleccionado en la primera.

Respuesta:

Se trata de hacer una consulta a tu tabla "hija" con la clausula (confición) que identifique la relación entre ambas tablas. (usando como clave un campo de nuestra tabla hija q nos haga de clave foranea para nuestra consulta). En este caso usaremos el campo id_padre de la tabla_hija como "clave foranea" .. ambos del mismo tipo y relación 1 -> N (1 registro es a muchos registros de la otra tabla ..)

Partiende de una estructura SQL así: (como ejemplo completo de funcionamiento ..adaptenla a sus necesidades)



PHP:--------------------------------------------------------------------------------
#
# Estructura de tabla para tabla `tabla_hija`
#

CREATE TABLE tabla_hija (
  id tinyint(3) unsigned NOT NULL auto_increment,
  id_padre tinyint(3) unsigned NOT NULL default '0',
  item_texto varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

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

INSERT INTO tabla_hija VALUES (1, 1, 'tabla_hija - Item grupo 1 bla bla bla');
INSERT INTO tabla_hija VALUES (2, 2, 'tabla_hija - grupo 2 item 1');
INSERT INTO tabla_hija VALUES (3, 2, 'tabla_hija - grupo 2 item 2');
INSERT INTO tabla_hija VALUES (4, 3, 'tabla_hija - grupo 3 item probando');
INSERT INTO tabla_hija VALUES (5, 1, 'tabla_hija - item grupo 1 noseq pner');
# --------------------------------------------------------

#
# Estructura de tabla para tabla `tabla_padre`
#

CREATE TABLE tabla_padre (
  id tinyint(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_padre`
#

INSERT INTO tabla_padre VALUES (1, 'Grupo 1');
INSERT INTO tabla_padre VALUES (2, 'Grupo 2');
INSERT INTO tabla_padre VALUES (3, 'Grupo 3');
INSERT INTO tabla_padre VALUES (4, 'Grupo 4');

--------------------------------------------------------------------------------


Y el código de nuestras consultas a realizar:


PHP:--------------------------------------------------------------------------------
<?
// datos de conexion a la BD.
$servidor  ="localhost"// host
$usuario   =""
$clave     ="";
$basedatos =""// 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_padre: ".$_POST['id_padre']."<br>";
echo 
"Recibido id_tabla_hija: ".$_POST['id_hija'];

} 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_padre del envio a si mismo del formulario ..
   
$id_padre=$_POST['id_padre'];

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

   
// Formar Selec "Padre".
   
echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n";
   echo 
"<option value=\"\"> Seleccione un Item </option>\n";

   
$SQLconsulta_padre="SELECT * FROM tabla_padre";
   
$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_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
if ($id_padre == $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>\n\n";

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

   // Formar Select "Hijo"
   
echo "<select name=\"id_hija\">\n";

   
// Si $id_padre 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_padre)){

       
$SQLconsulta_hija="SELECT * FROM tabla_hija WHERE id_padre='$id_padre'";
       
$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 Item  </option>";
    }

    
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
    
    
echo "</select>\n\n";
    echo 
"<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
    echo 
"</form>\n";
}
__________________
EL LIMITE ES EL UNIVERSO
  #5 (permalink)  
Antiguo 08/04/2008, 10:07
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: lista/menu en dreamweaver

Hola.
Yo no hice preguntas, pero era justo lo que necesitaba, me quedo casi a la medida, gracias JPOGSISTEM por tu ejemplo tan claro.
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 18:38.