Son 4 selects conbinados, si cambio uno de ellos me realiza las consultas correspondientes en los otros 3 selects para sacarme los valores correspondientes a la seleccion del primer valor. Hasta aqui tdo me funciona perfectamente.
El codigo que empleo es algo parecido al de desarrollo web:
[URL="http://www.desarrolloweb.com/articulos/actualizar-xajax-0-2-a-xajax-0-5.html"]http://www.desarrolloweb.com/articulos/actualizar-xajax-0-2-a-xajax-0-5.html[/URL]
Siendo mis funciones personales así:
Código PHP:
function select_combinado($nombre,$titulo,$consulta_creada){
$nuevo_select = "<select name=\"".$nombre."\" size=5>\n";
$nuevo_select .= "<option value=\"0\" selected>" . $titulo . "</option>\n";
include "con.php";
$consulta_sql=$consulta_creada;
// print ($consulta_sql);
$result=mysql_query($consulta_sql,$conexion);
while($row=mysql_fetch_row($result))
{
$nuevo_select .= "<option value=\"$row[0]\">$row[1]</option>\n";
}
$nuevo_select .= "</select>";
return $nuevo_select;
}
function generar_selects_a_partir_de_tipo_finalidad($id_tipo_finalidad){
$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
if ($id_tipo_finalidad==0){
$consulta_localidad="AQUÍ VA LA SELECT";
$nuevo_select_localidad = select_combinado("id_localidad","CUALQUIER LOCALIDAD",$consulta_localidad);
$consulta_provincia="AQUÍ VA LA SELECT";
$nuevo_select_provincia = select_combinado("id_provincia","CUALQUIER PROVINCIA",$consulta_provincia);
$consulta_tipo_inmueble="AQUÍ VA LA SELECT";
$nuevo_select_tipo_inmueble = select_combinado("id_tipo_inmueble","CUALQUIER TIPO DE INMUEBLE",$consulta_tipo_inmueble);
}else{
$consulta_localidad="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSDO TIPO DE FINALIDAD";
$nuevo_select_localidad = select_combinado("id_localidad","CUALQUIER LOCALIDAD",$consulta_localidad);
$consulta_provincia="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSDO TIPO DE FINALIDAD";
$nuevo_select_provincia = select_combinado("id_provincia","CUALQUIER PROVINCIA", $consulta_provincia);
$consulta_tipo_inmueble="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSADO TIPO DE FINALIDAD";
$nuevo_select_tipo_inmueble = select_combinado("id_tipo_inmueble","CUALQUIER TIPO DE INMUEBLE",$consulta_tipo_inmueble);
}
$respuesta->assign("id_localidad","innerHTML",$nuevo_select_localidad);
$respuesta->assign("id_provincia","innerHTML",$nuevo_select_provincia);
$respuesta->assign("id_tipo_inmueble","innerHTML",$nuevo_select_tipo_inmueble);
return $respuesta;
}
function generar_selects_a_partir_de_provincia($id_provincia){
$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
if ($id_tipo_finalidad==0){
$consulta_localidad="AQUÍ VA LA SELECT";
$nuevo_select_localidad = select_combinado("id_localidad","CUALQUIER LOCALIDAD",$consulta_localidad);
$consulta_provincia="AQUÍ VA LA SELECT";
$nuevo_select_tipo_finalidad = select_combinado("id_tipo_finalidad","CUALQUIER PROVINCIA",$consulta_provincia);
$consulta_tipo_inmueble="AQUÍ VA LA SELECT";
$nuevo_select_tipo_inmueble = select_combinado("id_tipo_inmueble","CUALQUIER TIPO DE INMUEBLE",$consulta_tipo_inmueble);
}else{
$consulta_localidad="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSADO PROVINCIA";
$nuevo_select_localidad = select_combinado("id_localidad","CUALQUIER LOCALIDAD",$consulta_localidad);
$consulta_tipo_finalidad="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSDO PROVINCIA";
$nuevo_select_tipo_finalidad = select_combinado("id_provincia","CUALQUIER PROVINCIA", $consulta_provincia);
$consulta_tipo_inmueble="AQUÍ VA OTRA SELECT, CAMBIADA SI HA PULSADO PROVINCIA";
$nuevo_select_tipo_inmueble = select_combinado("id_tipo_inmueble","CUALQUIER TIPO DE INMUEBLE",$consulta_tipo_inmueble);
}
$respuesta->assign("id_localidad","innerHTML",$nuevo_select_localidad);
$respuesta->assign("id_provincia","innerHTML",$nuevo_select_tipo_finalidad);
$respuesta->assign("id_tipo_inmueble","innerHTML",$nuevo_select_tipo_inmueble);
return $respuesta;
}
Código PHP:
$xajax->register(XAJAX_FUNCTION, 'generar_selects_a_partir_de_provincia');
$xajax->register(XAJAX_FUNCTION, 'generar_selects_a_partir_de_tipo_finalidad');
La pregunta es puedo llamar a dos funciones en una misma página que me den una respuesta, ¿de que forma lo hago? ¿A que se debe el comportamiento con el código actual?
Saludos a todos y mil gracias por adelantado