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

Formulario AJAX Autocompleter+PHP+MySQL

Estas en el tema de Formulario AJAX Autocompleter+PHP+MySQL en el foro de Frameworks JS en Foros del Web. Hola, Despues de haber googleado sin mucho éxito y de haber encontrado un viejo post con un enlace roto a una posible solución , acudo ...
  #1 (permalink)  
Antiguo 23/09/2009, 21:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Formulario AJAX Autocompleter+PHP+MySQL

Hola,
Despues de haber googleado sin mucho éxito y de haber encontrado un viejo post con un enlace roto a una posible solución, acudo aquí con la esperanza de encontrar alguna posible solución para lo que quiero hacer.
Tengo un formulario que usa el Autocompleter de Scriptaculous en combinación con PHP+MySQL en uno de los campos. El objetivo es que al seleccionar una de las sugerencias, además de autocompletar el campo asociado, se rellene automáticamente otro campo (bueno, en realidad, más de uno, pero por simplicidad, dejémoslo así).
Es decir, hay un campo 'direccion', en el que ingreso el nombre de una calle, se me genera con el Autocompleter unas sugerencias con nombres de calles así como la población (municipio) a la que pertenece la calle. Al seleccionar una de las sugerencias quiero que se me autocomplete el campo 'direccion' y se me rellene automáticamente el campo 'poblacion':

AJAXFORM.HTML

[...]
<input type="text" name="direccion" id="direccion" class="required" value="" />
<div id="dirhint" class="autocomplete">&nbsp;</div>
<input type="text" name="poblacion" id="poblacion" class="required" value="" />
[...]
<script type="text/javascript">
new Ajax.Autocompleter('direccion','dirhint','obtendat os.php');
</script>
[...]


OBTENDATOS.PHP

<?php
$strSearchVal = $_POST['direccion'];
// Connect to your database here:

mysql_connect('localhost', ********, *********) or die(mysql_error());
mysql_select_db('codpost');

$sql = "SELECT t_calles.Calle,t_municipios.Municipio FROM t_calles,t_municipios,t_provincias WHERE t_calles.Calle LIKE '%". $strSearchVal."%' AND t_calles.CodPostal=t_municipios.CodPostal AND t_municipios.CodProv=t_provincias.CodProv ORDER BY t_calles.Calle ASC LIMIT 10";

$a=0; // variable para ayudar a nombrar las id de los elementos de la lista
$rs = mysql_query($sql);
echo "<ul>";
while($data = mysql_fetch_assoc($rs)) {
echo "<li id=\"dat" . $a++ . "\">" . $data['Calle'] ." :: ".$data['Municipio']."</li>";
}
echo "</ul>";
?>


El problema es que la lista generada por autocompleter ofrece resultados del tipo:
"Leon y Castillo :: Las Palmas de Gran Canaria"
Y obviamente, al seleccionar esa sugerencia, en el formulario, el campo dirección se me rellena con "Leon y Castillo :: Las Palmas de Gran Canaria". Lo que yo quiero es que el campo 'direccion'="Leon y Castillo" y el campo "poblacion"="Las Palmas de Gran Canaria".

Muchísimas gracias de antemano, ojalá alguien pueda echarme un cabo.
  #2 (permalink)  
Antiguo 24/09/2009, 04:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Formulario AJAX Autocompleter+PHP+MySQL

Hola, bienvenido al foro

Si es esto lo que recibes (Leon y Castillo :: Las Palmas de Gran Canaria) entonces podría hacer un split y después usarlo para llenar los campos

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 24/09/2009, 06:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Formulario AJAX Autocompleter+PHP+MySQL

Muchas gracias,
Bien, supongo que para ello tendré que usar las propiedades updateElement y afterupdateElement del Autocompleter ¿no?. ¿Alguien me podría indicar un poco cómo hacerlo?
En segundo lugar, ¿no hay ninguna manera de que lo que me devuelva el autocompleter me lo devuelva oculto?, es decir, imaginemos que en el ejemplo puesto hay un tercer parámetro que nos devuelve (un codigo postal, por ejemplo), pero no me ineteresa que se vea en la lista. Algo así como:
"Leon y Castillo :: Las Palmas de Gran Canaria ::( 35005 <--oculto)"
Muchas Gracias de antemano
  #4 (permalink)  
Antiguo 28/10/2010, 15:30
Avatar de blonder413  
Fecha de Ingreso: octubre-2010
Mensajes: 58
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Formulario AJAX Autocompleter+PHP+MySQL

hola, esto es exactamente lo que necesito, pero soy novato en ajax, alguien podria facilitarme algun manual o algo referente a este tema en particular?
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 17:05.