Foros del Web » Programando para Internet » PHP »

combox dependientes php mysql jquery

Estas en el tema de combox dependientes php mysql jquery en el foro de PHP en Foros del Web. hola amigos como estan el problema uqe tengo es el siguiente tengo una seri de combox o selects dependientes y e intentado controlarlos por medio ...
  #1 (permalink)  
Antiguo 15/05/2012, 11:13
Avatar de a_gomez  
Fecha de Ingreso: marzo-2012
Ubicación: /var/www/
Mensajes: 48
Antigüedad: 12 años, 1 mes
Puntos: 2
Pregunta combox dependientes php mysql jquery

hola amigos como estan el problema uqe tengo es el siguiente tengo una seri de combox o selects dependientes y e intentado controlarlos por medio de jquery basandome en un codigo que encontre en esta pagina http://jjeb.wordpress.com/.

He modificado la base de datos y acoplado el codigo a mi necesidad pero no me funciona. :(

el orden de mi comobox es ciudad -> comuna -> barrio

me sale la lista de ciudad ha la hora de seleccionar comuna no me carga las comunas.
esta es mi pagina com_dependientes.php
Código PHP:
Ver original
  1. <html>
  2.  <head>
  3.  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4.  <title></title>
  5.  </head>
  6. <?
  7.  include("mysql_inc.php");
  8.  $mysql = new MySql_Class;
  9.  $mysql->user="root";
  10.  $mysql->password="toor";
  11.  $mysql->db="combox";
  12.  $mysql->server="localhost";
  13.  $mysql->conection();
  14.  ?>
  15.  
  16.  <script src="js/jquery.js"></script>
  17.  <script>
  18.  $(document).ready(function(){
  19.  $("select").change(function(){
  20.  // Vector para saber cuál es el siguiente combo a llenar
  21.  var combos = new Array();
  22.  combos['ciudad'] = "comuna";
  23.  combos['comuna'] = "barrio";
  24.  // Tomo el nombre del combo al que se le a dado el clic por ejemplo: ciudad
  25.  posicion = $(this).attr("name");
  26.  // Tomo el valor de la opción seleccionada
  27.  valor = $(this).val()
  28.  // Evaluó  que si es ciudad y el valor es 0, vacié los combos de comuna y barrio
  29.  if(posicion == 'ciudad' && valor==0){
  30.  $("#comuna").html('    <option value="0" selected="selected">---- SELECCIONE LA COMUNA ----</option>')
  31.  $("#barrio").html('    <option value="0" selected="selected">----- SELECCIONE LA BARRIO -----</option>')
  32.  }else{
  33.  /* En caso contrario agregado el letreo de cargando a el combo siguiente
  34.  Ejemplo: Si seleccione ciudad voy a tener que el siguiente según mi vector combos es: comuna  por qué  combos [ciudad] = comuna
  35.  */
  36.  $("#"+combos[posicion]).html('<option selected="selected" value="0">Cargando...</option>')
  37.  /* Verificamos si el valor seleccionado es diferente de 0 y si el combo es diferente de barrio, esto porque no tendría caso hacer la consulta a barrio porque no existe un combo dependiente de este */
  38.  if(valor!="0" || posicion !='barrio'){
  39.  // Llamamos a pagina de combos.php donde ejecuto las consultas para llenar los combos
  40.  $.post("combos.php",{
  41.  combo:$(this).attr("name"), // Nombre del combo
  42.  id:$(this).val() // Valor seleccionado
  43.  },function(data){
  44.  $("#"+combos[posicion]).html(data);    //Tomo el resultado de pagina e inserto los datos en el combo indicado
  45.  })
  46.  }
  47.  }
  48.  })
  49.  })
  50.  </script>
  51.  <body>
  52.  <form id="form1" name="form1">
  53.  <div>
  54.  <select name="ciudad" id="ciudad">
  55.  <option selected="selected" value="0">----- SELECCIONE LA CIUDAD -----</option>
  56.  <?php
  57.  
  58.  $rs = mysql_query("SELECT * FROM ciudad order by ciudad");
  59.             for($k=0;$k < mysql_num_rows($rs); $k++){
  60.                 $fila = mysql_fetch_assoc($rs);
  61.                 echo '<option value="'.$fila["idciudad"].'">'.htmlentities($fila["ciudad"]).'</option>';
  62.             }
  63.  ?>
  64.  
  65.  
  66.  </select>
  67.  
  68.  <select id="comuna" name="comuna">
  69.  <option value="0" selected="selected">---- SELECCIONE LA COMUNA ----</option>
  70.  </select>
  71.  
  72.  <select id="barrio" name="barrio">
  73.  <option value="0" selected="selected">----- SELECCIONE LA BARRIO -----</option>
  74.  </select>
  75.  
  76.  </form>
  77.  </body>
  78.  </html>
y esta es la pagina combos.php

Código PHP:
Ver original
  1. <?
  2.  
  3.  include("mysql_inc.php");
  4.  $mysql = new MySql_Class;
  5.  $mysql->user="root";
  6.  $mysql->password="toor";
  7.  $mysql->db="combox";
  8.  $mysql->server="localhost";
  9.  $mysql->conection();
  10.  
  11.  
  12.  $idcombo = $_POST["id"];
  13.  $action =$_POST["combo"];
  14.  
  15.  switch($action){
  16.  case "ciudad":{
  17.  
  18.   $rs = mysql_query("SELECT idcomuna,comuna FROM comuna WHERE ciudad = $idcombo order by comuna ASC");
  19.             for($k=0;$k < mysql_num_rows($rs); $k++){
  20.                 $fila = mysql_fetch_assoc($rs);
  21.                 echo '<option value="'.$fila["idcomuna"].'">'.htmlentities($fila["comuna"]).'</option>';
  22.             }
  23.  break;
  24.  }
  25.  case "comuna":{
  26.  
  27.   $rs = mysql_query("SELECT idbarrio,barrio FROM barrio WHERE comuna= $idcombo order by barrio ASC");
  28.             for($k=0;$k < mysql_num_rows($rs); $k++){
  29.                 $fila = mysql_fetch_assoc($rs);
  30.                  echo '<option value="'.$rs["idbarrio"].'">'.htmlentities($rs["barrio"]).'</option>';
  31.             }
  32.  break;
  33.  }
  34.  }
  35.  ?>

gracias por su colaboracion y cualquier comentario es de ayuda.
  #2 (permalink)  
Antiguo 15/05/2012, 11:19
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: combox dependientes php mysql jquery

No suelo usar jquery por lo que no te podría ayudar mucho, pero hace unos días coloqué un ejemplo con xajax, si no te molesta usar esta librería, puede que te sea de ayuda
  #3 (permalink)  
Antiguo 15/05/2012, 11:55
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: combox dependientes php mysql jquery

a_gomez mira este ejemplo, es ajax, pero funciona a la perfección...

http://www.formatoweb.com.ar/ajax/se..._3_niveles.php

Suerte
  #4 (permalink)  
Antiguo 15/05/2012, 11:58
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: combox dependientes php mysql jquery

Cita:
Iniciado por Swab Ver Mensaje
a_gomez mira este ejemplo, es ajax, pero funciona a la perfección...

http://www.formatoweb.com.ar/ajax/se...pendientes.php

http://www.formatoweb.com.ar/ajax/se..._3_niveles.php

Suerte
  #5 (permalink)  
Antiguo 15/05/2012, 12:08
Avatar de a_gomez  
Fecha de Ingreso: marzo-2012
Ubicación: /var/www/
Mensajes: 48
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: combox dependientes php mysql jquery

Cita:
Iniciado por ocp001a Ver Mensaje
No suelo usar jquery por lo que no te podría ayudar mucho, pero hace unos días coloqué un ejemplo con xajax, si no te molesta usar esta librería, puede que te sea de ayuda
gracias me ha servido de ayuda tu ejemplo..
  #6 (permalink)  
Antiguo 15/05/2012, 12:09
Avatar de a_gomez  
Fecha de Ingreso: marzo-2012
Ubicación: /var/www/
Mensajes: 48
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: combox dependientes php mysql jquery

Swab

gracias por tu aporte es importante para mi y para futuras personas que consulten este foro.


Etiquetas: javascript, jquery, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:59.