Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2009, 11:29
juanpro
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Combo dependientes con ajax

Buen dia a todos, estuve investigando un poco, y pude avanzar algo, pero me fata un detalle, que no se como hacerle para hacer la comparacion en la consulta ya que me sale error de variable indefinida, osea decirle que cuando selecciono un valor de primer combo que me compare con la consulta que llamo desde el ajax. Les dejo los codigos para que echen una miradita y asi puedan decirme en que estoy mal. Gracias

index.php

Aca empiezo con el jquery ya que estoy trabajando con el y creamos una funcion

<script>
$(document).ready(function(){
$("#categoria").change(function(){
$.post("consulta.php",{valorcombo: this.value},function(data){$("#restaurant").html(d ata)});
});
});
</script>

seguido....... jalo datos de mi base de datos a mi primer combo,

<select name="categoria" id="categoria" >
<?php
$conexion=mysql_connect($servidor,$usuario,$pass) or die (mysql_error());
mysql_select_db($data,$conexion);
$SQL="SELECT * FROM categoria ORDER BY nombre ASC";
$RESULT=mysql_query($SQL,$conexion);
while($ROW=mysql_fetch_array($RESULT)){
echo '<option>'.$ROW['nombre'].'</option>';
echo $ROW['idcategoria'];
}
?>
</select>

y el segundo combo que se encuentra ahi mismo en esa pagina

<select name="restaurant" size="5" id="restaurant" >
<option></option>
</select>


El otro archivo que tengo es consulta.php que lo llamo desde el ajax



<?php
$conexion=mysql_connect($servidor,$usuario,$pass) or die (mysql_error());
mysql_select_db($data,$conexion);

$idcategoria=$_POST['idcategoria'];
$query = "SELECT * FROM restaurant ORDER BY nombre ASC WHERE idcategoria=$idcategoria";
$rs_query = mysql_query($query);
while($rw_query = mysql_fetch_array($rs_query))
{
echo "<option value='".$rw_query['idrestaurant']."'>".$rw_query['nombre']."</option>";
}

?>


Esta consulta supuestamente me debe de llenar el segundo combo, pero no doy como decirle a la consulta que compare el id seleccionado del primer combo con dicha consulta algo asi:

$query = "SELECT * FROM restaurant ORDER BY nombre ASC WHERE idcategoria=$idcategoria


Agradesco desde ya su atencion y su ayuda prestada