Menus desplegables

Thunderstand
26 de Enero del 2004
Hola amigos os cuento mi problemilla!!

El asunto constaria de dos menus desplegables vinculadas a una tabla con tres campos (Id, Nombre, Email), en el primer menu desplegable se cargan todos los nombres existentes del campo Nombre de la tabla agenda, y en el segundo menu se cargara el email correspondiente al nombre seleccionado en el primer menu.

Ejemplo:

tabla

0 pedo [email protected]
1 Angel [email protected]
2 Paco [email protected]
3 Paco [email protected]

En el primer menu se veran: Pedro, Angel, Paco.

Si se selecciona Pedro en el segundo menu solo se mostrara [email protected]

Si se selecciona Angel en el segundo menu solo se mostrara
[email protected]

Pero si se selecciona Paco como hay dos en el segundo menu se vera:
[email protected]
[email protected]

Alguien me podria decir como hacerlo, aqui tengo lo que tengo hecho hasta ahora:

<?php

// Conexión con la base de datos

$link = mysql_connect("localhost", "Usuario", "contraseña");
mysql_select_db("mybd", $link);
$result = mysql_query("SELECT nombre FROM agenda", $link);

// El menu desplegable de los nombres

echo '<select name= "$menunombre" size="1">' ;
while ($row=mysql_fetch_array($result)){
echo " <option value> ".$row['nombre']." </option> ";
}
echo "</select>";


?>
</p>
</blockquote>
</blockquote>
</blockquote>
<p> </p>
<blockquote>
<blockquote>
<blockquote>
<p>
<?php

// Conexión con la base de datos

$link2 = mysql_connect("localhost", "usuario", "contraseña");
mysql_select_db("mybd", $link2);
$result2 = mysql_query("SELECT distinct(email) FROM agenda WHERE nombre like '%$menunombre%' ", $link2);

// El menu desplegable de los nombres

echo '<select list name= "mail" size="1">' ;
while ($row2=mysql_fetch_array($result2)){
echo " <option value> ".$row2['email']." </option> ";
}
echo "</select>";

?>


k
26 de Enero del 2004
Mira, lo que tienes que hacer es lo sgte :

En el 1° menú desplegable el código sería el sgte :

$link = mysql_connect("localhost", "Usuario", "contraseña");
mysql_select_db("mybd", $link);
$result = mysql_query("SELECT * FROM agenda", $link);

// El menu desplegable de los nombres

echo '<select name= "$menuid" size="1">' ;
while ($row=mysql_fetch_array($result)){
echo " <option value=$row['id']> ".$row['nombre']." </option> ";
}
echo "</select>";

Y en el 2° menú, el código sería el sgte :

// Conexión con la base de datos

$link2 = mysql_connect("localhost", "usuario", "contraseña");
mysql_select_db("mybd", $link2);
$result2 = mysql_query("SELECT email FROM agenda WHERE id = '$menuid' ", $link2);

// El menu desplegable de los nombres

echo '<select list name= "mail" size="1">' ;
while ($row2=mysql_fetch_array($result2)){
echo " <option value> ".$row2['email']." </option> ";
}
echo "</select>";

Entonces, la idea es que en el 1° menú le das a seleccionar el Nombre de las personas, pero le colocas como Valor el ID, para que así cuando Submitas el formulario el menú se vaya con el valor ID del nombre que seleccionaste y así en la Query del 2° Menú desplegable seleccionarás el Email que cumpla con el Valor del ID que traes desde el 1° Menú desplegable, ya que es el identificador único de cada registro y así, creo, que no tendrías problemas con selecionar el Email correspondiente ...... Se entendió ó No ???

Ah, puede que tengas errores de sintaxis, por las modificaciones que le hice al código, pero eso Tú lo arreglas ..... pero en definitiva, la idea es esa.

Suerte