![]() |
como interactuar entre dos combos <select>
hola, mi consulta es la sgte:
tengo dos combos, el primero lo cargue con datos, y quiero que al elegir el usuario una opcion del combo se carguen en el otro combo algunas opciones todo esto lo hago en php, alguien puede asesorarme o darme algunas ideas?? gracias... |
Gabriel, esto lo puedes hacer con ajax+php, adjunto ejemplo:
# index.php <? $hostname_testing = "localhost"; $database_testing = "testing"; $username_testing = "testing"; $password_testing = "testing"; $testing = mysql_connect($hostname_testing, $username_testing, $password_testing) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database_testing, $testing); $query_combo1 = "SELECT * FROM municipios"; $combo1 = mysql_query($query_combo1, $testing) or die(mysql_error()); $row = mysql_fetch_assoc($combo1); ?> <html> <head> <title>Combos</title> <script language="JavaScript" type="text/javascript" src="ajax.js"></script> </head> <body> <form name="f1" method="post"> <select name="municipios" onChange="optionMuni();"> <option value="0">[ Seleccione ]</option> <? do { ?> <option value="<? echo $row['id_muni']?>"><? echo $row['nom_muni']?></option> <? } while ($row = mysql_fetch_assoc($combo1)); ?> </select> <div id="localidad"><select><option>[ Seleccione ]</option></select></div> </form> </body> </html> <? mysql_free_result($combo1); ?> # ajax.js function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function optionMuni(){ divResultado = document.getElementById('localidad'); id_muni=document.f1.municipios.value; ajax=objetoAjax(); ajax.open("POST", "localidad.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { divResultado.innerHTML = ajax.responseText } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("id_muni="+id_muni) } # localidad.php <? $hostname_testing = "localhost"; $database_testing = "testing"; $username_testing = "testing"; $password_testing = "testing"; $testing = mysql_connect($hostname_testing, $username_testing, $password_testing) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database_testing, $testing); mysql_select_db($database_testing, $testing); $query_localidades = "SELECT localidades.id_local, localidades.nom_local FROM localidades WHERE localidades.id_muni=". $_POST['id_muni']; $localidades = mysql_query($query_localidades, $testing) or die(mysql_error()); $row = mysql_fetch_assoc($localidades); ?> <select name="localidades"> <option value="0">[ Seleccione ]</option> <? do { ?> <option value="<? echo $row['id_local']?>"><? echo $row['nom_local']?></option> <? } while ($row = mysql_fetch_assoc($localidades));?> </select> <? mysql_free_result($localidades); ?> |
y como se hace en delphi for php
esa misma solucion la quiero implementar en delphi for php.
Como lo hago |
la solucion es buena pero..
vivimos en tiempos donde la optimizacion es necesario y para crear codigo legible y funcional primero hay que ordenarse primero hay que separar las cosas ya que el ejemplo que pusiste jgutti
esta muy bien pero ay q separa el codigo seria bueno implementar el metodo MVC Modelo Vista Controlador el modelo ser el codigo PHP la Vista seria el XHTML + CSS y el Controlador seria JAVASCRIPT los datos rescatados por php podrian ser enviados en formato JSON con json_encode(); estos seria recogidos mediante JAVASCRIPT e interpretados seria bueno usar un framework como MOOTOOLS el que incorpora todo en forma ordenada ejej bueno eso es lo que ahora estoy haciendo y me da buenos resultados solo es una observacion bye bye |
La franja horaria es GMT +2. Ahora son las 02:18:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi