Foros del Web » Programando para Internet » Javascript » Frameworks JS »

ayuda con selects dinámicos

Estas en el tema de ayuda con selects dinámicos en el foro de Frameworks JS en Foros del Web. Hola amigos y buenas noches desde Tijuana B.C Mex. En estos momentos estoy creando un select dinamico. el cual consta de que al momento de ...
  #1 (permalink)  
Antiguo 11/08/2010, 23:59
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
ayuda con selects dinámicos

Hola amigos y buenas noches desde Tijuana B.C Mex.

En estos momentos estoy creando un select dinamico.
el cual consta de que al momento de seleccionar un estado en un select en otro te despliegue los municipios de ese estado.

pero hasta el momento solo e logrado que me despliegue los estados pero los municipios no.

Aqui les dejo los codigos para que le hechen un ojaso pofavor , se los agradeceria mucho y espero que me tengan paciencia ya que soy novato.


---------------------------------------------------------------------------------
index.php


<?
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("db_meo",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
$link=Conectarse();


echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />
<script src=\"http://code.jquery.com/jquery-latest.js\"></script>
</head>

<body>




<FORM action=\"index.php\" method=\"POST\" style='margin:30px 5px 30px 5px;'>
<table width=\"500px\">
<tbody>
<tr>
<td>Estado :</td>

<td><select name='estado' id=\"estado\" ciudad=''>
<option value=''>Seleccione provincia</option>";
$B_BUSCAR= mysql_query ("SELECT * FROM estado order by nombre asc",$link);
$R_BUSCAR=mysql_fetch_assoc($B_BUSCAR);
$C_BUSCAR=mysql_num_rows($B_BUSCAR);
$suma=0;
do{ ++$suma;
echo "<option value='".$R_BUSCAR['id']."'>".$R_BUSCAR['nombre']."</option>";
}while($R_BUSCAR=mysql_fetch_assoc($B_BUSCAR));
echo "</select>&nbsp;<span id='Buscando'></span></td>
</tr>

<tr>
<td>Ciudad :</td>
<td><select name='ciudad' id=\"ciudad\">
<option value= selected='selected'>Seleccionar ciudad</option>
</select></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</form>";
?>
<script>
jQuery('#estado').change(function () {
var numero =document.getElementById("nombre").value;
var poblacio = jQuery(this).attr("ciudad");
var to=document.getElementById("Buscando");
to.innerHTML="buscando....";
jQuery.ajax({
type: "POST",
url: "busqueda.php",
data: 'idnumero='+numero+'&id_ciudad='+nombre,
success: function(a) {
jQuery('#ciudad').html(a);
var to=document.getElementById("Buscando");
to.innerHTML="";
}
});
})
.change();
</script>


</body>
</html>

-------------------------------------------------------------------------------------------------

busqueda.php


<?
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("db_meo",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
$link=Conectarse();

$B_BUSCAR= mysql_query ("SELECT * FROM ciudad where id_estado='".$_POST["id_ciudad"]."' order by nombre asc",$link);
$R_BUSCAR=mysql_fetch_assoc($B_BUSCAR);
$C_BUSCAR=mysql_num_rows($B_BUSCAR);
if($C_BUSCAR){
do{
if($_POST["id_estado"]==$R_BUSCAR['id']){$TRUE=" selected='TRUE'";}else{$TRUE="";}
echo "<option value='".$R_BUSCAR['id']."' $TRUE>".htmlentities($R_BUSCAR['nombre'])."</option>";

}while($R_BUSCAR=mysql_fetch_assoc($B_BUSCAR));
}else{
echo "<option value=''>".htmlentities("Seleccionar ciudad")."</option>";
}
mysql_close($link);
?>
-------------------------------------------------------------------------------

Y la verdad es que no encuentro el error amigos hechenme una manota .


Porfavor ahi les encargo que me ayuden le agradesco a aquellos que se antomando la molestia de atenderme.

Última edición por RENELOPEZ; 12/08/2010 a las 00:05
  #2 (permalink)  
Antiguo 12/08/2010, 00:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

hola
bueno, veo que usas jquery, tienes el código de ese archivo?
y el script de la bd (tanto creación como poblado de tablas?)
con eso es más rápido probar
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 12/08/2010, 01:03
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con selects dinámicos

Si esta en el archivo de index.php

en la parte de abajo.

Te recuerdo que con esos dos archivos solo me despliega en un select los estados pero en el otro no me despliega las ciudades.
  #4 (permalink)  
Antiguo 12/08/2010, 01:09
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

y tienes el script de la bd?
estabas siguiendo algún tutorial?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 12/08/2010, 01:14
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con selects dinámicos

Pues estoy siguiendo un tutorial pero tambien tengo el script de mi base de datos
lo que pasa es qe boy a ser un insert y para eso necesito tener la direccion y pues quiero poner los estados y que cuando se elija un estado automaticamente se seleccione sus ciudades.


de echo este codigo lo encontre por ahi en internet y pues lo estoy tratando de acoplar amis necesidades
  #6 (permalink)  
Antiguo 12/08/2010, 01:16
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

bueno, entonces por favor postea el script de la bd
y deja también el link del tutorial
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 12/08/2010, 01:23
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con selects dinámicos

script de db__________________________________


CREATE TABLE IF NOT EXISTS `ciudad` (
`id_ciudad` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_ciudad`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9987 ;

--
-- Volcar la base de datos para la tabla `ciudad`
--

INSERT INTO `ciudad` (`id_ciudad`, `nombre`) VALUES
(6520, 'Aguascalientes'),
(6521, 'Asientos'),
(6522, 'Calvillo'),
(6523, 'Cosío'),
(6524, 'Jesús María'),
(6525, 'Pabellón de Arteaga'),
(6526, 'Rincón de Romos'),
(6527, 'San José de Gracia'),
(6528, 'Tepezalá'),
(6529, 'El Llano'),
(6530, 'San Francisco de los Romo'),
(6535, 'Ensenada'),
(6536, 'Mexicali'),
(6537, 'Tecate'),
(6538, 'Tijuana'),
(6539, 'Playas de Rosarito'),

CREATE TABLE IF NOT EXISTS `estado` (
`id_estado` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_estado`),
UNIQUE KEY `nombre` (`nombre`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=33 ;

--
-- Volcar la base de datos para la tabla `estado`
--

INSERT INTO `estado` (`id_estado`, `nombre`) VALUES
(1, 'Aguascalientes'),
(2, 'Baja California\r'),


y aqui esta la tabla de id_estado relacionada con las id_ciudades


CREATE TABLE IF NOT EXISTS `estado_ciudad` (
`id_estado` int(11) NOT NULL,
`id_ciudad` int(11) NOT NULL,
PRIMARY KEY (`id_estado`,`id_ciudad`),
KEY `Ref772` (`id_estado`),
KEY `Ref673` (`id_ciudad`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Volcar la base de datos para la tabla `estado_ciudad`
--

INSERT INTO `estado_ciudad` (`id_estado`, `id_ciudad`) VALUES
(1, 6520),
(1, 6521),
(1, 6522),
(1, 6523),
(1, 6524),
(1, 6525),
(1, 6526),
(1, 6527),
(1, 6528),
(1, 6529),
(1, 6530),
(2, 6535),
(2, 6536),
(2, 6537),
(2, 6538),
(2, 6539),






link :

http://www.desarrolloweb.com/articul...avascript.html

Última edición por RENELOPEZ; 12/08/2010 a las 01:46
  #8 (permalink)  
Antiguo 12/08/2010, 01:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

bueno, veo que tienes esto en la función jquery

var numero =document.getElementById("nombre").value;

pero en el tutorial esta así

var numero =document.getElementById("provincia").value;
que en tu caso sería
var numero =document.getElementById("estado").value;

revisa eso mientras, y si tienes datos en la bd edita
el post anterior y agrega el script de los insert
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 12/08/2010, 01:49
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con selects dinámicos

Ya probe lo que me recomendaste y me aparecio esto:

Estado : __________ buscando....
Ciudad : __________


donde esta la linea ahi es donde estan los select y alado de ellos me arojo esa palabra buscando pero estatica ahi quedo y no iso nad mas.


  #10 (permalink)  
Antiguo 12/08/2010, 02:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

bueno, pues si te fijas en el tutorial manejan en la tabla ciudad el id_estado, cosa que tu tienes separado, pero que te aconsejaría unas para que no tengas una tabla más

sin embargo, si quieres manejarlo con esas 3 tablas, entonces
la consulta tiene que cambiar, algo así

Código MySQL:
Ver original
  1. SELECT c.id_ciudad as id, c.nombre as nombre from ciudad c inner join estado_ciudad ec on c.id_ciudad = ec.id_ciudad
  2. AND ec.id_estado ='".$_POST["id_estado"]."' order by c.nombre asc"


además, tienes otro problema, tienes esto

data: 'idnumero='+numero+'&id_ciudad='+nombre,

pero en ningún lado estas creando la variable nombre,
que sería la que en el tutorial usan como poblacio (y que tu también denominas igual)
y envias idnumero, pero en busqueda.php no esta esta variable,
que según veo es id_estado que si esta usandose, así que,
te recomiendo revises el tutorial y no cambies nombres de variables
hasta que certifiques que te esta funcionando, y bajo las mismas condiciones de bases de datos que informa el tutorial
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #11 (permalink)  
Antiguo 12/08/2010, 02:59
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con selects dinámicos

Es lo que estoy aciendo una y otra vez pero como comprendes soy novato y me cuesta mas trabajo.



ya me duele a caveza jejeje. bueno pues muchas gracias detodos modos amigo.

Cale el select que me enviaste y no cambio en nada el ultimo resultado.
  #12 (permalink)  
Antiguo 12/08/2010, 03:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ayuda con selects dinámicos

bueno, pues revisa esto también

en index.php tienes esto

Código PHP:
$B_BUSCARmysql_query ("SELECT * FROM estado order by nombre asc",$link); 
y luego usan id y nombre, pero tu campo de la bd (id_estado) en esa tabla se llama distinto, cambia la consulta de este modo

Código PHP:
$B_BUSCARmysql_query ("SELECT id_estado as id, nombre FROM estado order by nombre asc",$link); 
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #13 (permalink)  
Antiguo 12/08/2010, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a AJAX

Etiquetas: ajax, selects
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 18:09.