
un select que hace aparecer otro select
Publicado por octavio (8 intervenciones) el 02/11/2010 04:01:14
Hola amigos, tengo un problema y no se como resolverlo (SOY NOVATO EN PHP):
he creado un select que toma los datos de una DB así:
<?php
$link = mysql_connect("localhost","root","root") or die ("no se ha podido conectar con el servidor");
$db = mysql_select_db("reservas", $link) or die( "Error conexion DB");
$resultado = mysql_query("SELECT * FROM empresa", $link);
$contenido.= "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
$contenido.= "<tr><form method=get action=\"call_user_func('lugarEmpresa', '1')\">\n";
#$contenido.= "<tc><select name=\"reserva\" class=\"boxcontent\" onChange=\"top.location.href=this.options[this.selectedIndex].value\">\n";
#$contenido.= "<tc><select name=\"reserva\" class=\"boxcontent\" onChange= echo \"call_user_func('lugarEmpresa', 'this.options[this.selectedIndex].value')>\"";
$contenido.= "<td>Seleccione una empresa: <select name=\"reserva\" class=\"boxcontent\" onClick= lugarEmpresa('1')>\"";
?>
<input type="button" onclick="lugarEmpresa('1')" value="Seleccionar">
<?php
$contenido.= "<option value=\"\">Seleccione una empresa\n";
$i=0;
#call_user_func('lugarEmpresa', '1');
while ($i < mysql_numrows($resultado)){
$nombre = mysql_result($resultado,$i, "nombre");
$id = mysql_result($resultado,$i, "id");
$contenido.= "<option value=\"$id\">$nombre\n";
$i = $i+1;
}
$content .= "</SELECT></TD></TR></FORM></TABLE><br>";
echo "$contenido";
?>
lo que quiero es que cuando se seleccione alguna opcion de la lista que aparezca debajo otroa lista desplegable (select) la cual tome los datos de la base de datos segun la opcion elegida, pense en la siguiente funcion:
function lugarEmpresa($idempresa){
echo "SELECT * FROM lugar where idempresa=\"$idempresa\"";
$link = mysql_connect("localhost","root","root") or die ("no se ha podido conectar con el servidor");
$resultado2 = mysql_query("SELECT * FROM lugar where idempresa=\"$idempresa\"", $link);
$lugaresEmpresa.= "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
$lugaresEmpresa.= "<tr><form method=get action=\"\">\n";
$lugaresEmpresa.= "<tc><select name=\"reservalugar\" class=\"boxcontent\" onChange=\"top.location.href=this.options[this.selectedIndex].value\">\n";
$lugaresEmpresa.= "<option value=\"\">Seleccione un lugar\n";
$i=0;
while ($i < mysql_numrows($resultado2)){
$nombre = mysql_result($resultado2,$i, "nombre");
$id = mysql_result($resultado2,$i, "id");
$lugaresEmpresa.= "<option value=\"$id\">$nombre\n";
$i = $i+1;
}
$lugaresEmpresa .= "</SELECT></TD></TR></FORM></TABLE><br>";
echo "$lugaresEmpresa";
}
Pero por mas que la llame de diferentes maneras no logro hacerlo andar, PHP permite esto?, creo que no, si es así con que debo hacerlo y como ya que probe con javascript y tampoco lo logro. Desde ya muchas gracias
he creado un select que toma los datos de una DB así:
<?php
$link = mysql_connect("localhost","root","root") or die ("no se ha podido conectar con el servidor");
$db = mysql_select_db("reservas", $link) or die( "Error conexion DB");
$resultado = mysql_query("SELECT * FROM empresa", $link);
$contenido.= "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
$contenido.= "<tr><form method=get action=\"call_user_func('lugarEmpresa', '1')\">\n";
#$contenido.= "<tc><select name=\"reserva\" class=\"boxcontent\" onChange=\"top.location.href=this.options[this.selectedIndex].value\">\n";
#$contenido.= "<tc><select name=\"reserva\" class=\"boxcontent\" onChange= echo \"call_user_func('lugarEmpresa', 'this.options[this.selectedIndex].value')>\"";
$contenido.= "<td>Seleccione una empresa: <select name=\"reserva\" class=\"boxcontent\" onClick= lugarEmpresa('1')>\"";
?>
<input type="button" onclick="lugarEmpresa('1')" value="Seleccionar">
<?php
$contenido.= "<option value=\"\">Seleccione una empresa\n";
$i=0;
#call_user_func('lugarEmpresa', '1');
while ($i < mysql_numrows($resultado)){
$nombre = mysql_result($resultado,$i, "nombre");
$id = mysql_result($resultado,$i, "id");
$contenido.= "<option value=\"$id\">$nombre\n";
$i = $i+1;
}
$content .= "</SELECT></TD></TR></FORM></TABLE><br>";
echo "$contenido";
?>
lo que quiero es que cuando se seleccione alguna opcion de la lista que aparezca debajo otroa lista desplegable (select) la cual tome los datos de la base de datos segun la opcion elegida, pense en la siguiente funcion:
function lugarEmpresa($idempresa){
echo "SELECT * FROM lugar where idempresa=\"$idempresa\"";
$link = mysql_connect("localhost","root","root") or die ("no se ha podido conectar con el servidor");
$resultado2 = mysql_query("SELECT * FROM lugar where idempresa=\"$idempresa\"", $link);
$lugaresEmpresa.= "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
$lugaresEmpresa.= "<tr><form method=get action=\"\">\n";
$lugaresEmpresa.= "<tc><select name=\"reservalugar\" class=\"boxcontent\" onChange=\"top.location.href=this.options[this.selectedIndex].value\">\n";
$lugaresEmpresa.= "<option value=\"\">Seleccione un lugar\n";
$i=0;
while ($i < mysql_numrows($resultado2)){
$nombre = mysql_result($resultado2,$i, "nombre");
$id = mysql_result($resultado2,$i, "id");
$lugaresEmpresa.= "<option value=\"$id\">$nombre\n";
$i = $i+1;
}
$lugaresEmpresa .= "</SELECT></TD></TR></FORM></TABLE><br>";
echo "$lugaresEmpresa";
}
Pero por mas que la llame de diferentes maneras no logro hacerlo andar, PHP permite esto?, creo que no, si es así con que debo hacerlo y como ya que probe con javascript y tampoco lo logro. Desde ya muchas gracias
Valora esta pregunta


0