Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2009, 21:58
RubenLeDiable
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 15 años, 3 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.