Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/05/2009, 11:51
juanpro
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Rellenar Combos

Hola, te comportado lo que hise yo en mi caso, no obstante te recomiendo que al menos leas un poco de ajax para que tengas una idea y puedas comprender como funciona, no soy experto en ajax pero al menos el uso de manuales y un poco de practica me esta ayudando a entenderlo y hacer algunas cosillas.

Te paso a explicar, considerando que ya sabes rellenar los combos mediante base de datos te explico entonces el ajax, en mi caso uso Jquery, ya que tiene eventos, funciones para poder hacer ese tipo de peticiones asincronas al servidor.


Este codigo lo pones entre la etiqueta <head></head>

Tienes que bajarte el jquery, lo puedes hacer desde su pagina, e invocarlo de esta manera:
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>


<script type="text/javascript">
$(document).ready(function(){
// Parametros para el primer combo1
$("#combo1").change(function () {
$("#combo1 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
//Pasamos el parametro elegido, para comparalo con nuestra consulta y asi rellenar nuestro segundo combo
$.post("combo1.php", { elegido: elegido }, function(data){
$("#combo2").html(data);
});
});
})

});
</script>


<body>

Aca llenas tu primer combo, y recuerda que el nombre que le pones en la etiqueta name es el mismo nombre que usas en tu ajax, ejemplo:

<select name="combo1" id="combo1">

Aca tiene como nombre combo1, y ese mismo nombre lo utilizo en el ajax, igualito para el segundo combo, ya es tu eleccion si le cambias el nombre.

Seguido construyes tu segundo combo

<select name="combo2" id="combo2">
</select>


</body>


Ultimo tienes que crearte un archivos php que en mi caso le llamo combo1.php que si te fijas le doy uso en el ajax, y es ahi donde tienes que hacer la comparacion con el parametro "elegido" que mandamos mediante el ajax, de esta manera


if (isset($_POST["elegido"])){

$SQL = "SELECT * FROM restaurant WHERE idcategoria='".$_POST['elegido']."'";


El resto etiendo que ya lo sabes llenas el segundo combo, asi como lo hiciste con el primero.


Bueno espero se entienda, pruebalo y a ver que pasa

Saludos,