Hola,
estoy practicando con un script en PHP y jQuery para autocomplementar un listado de sitios. El caso es que puede haber repetidos varios sitios, porque se refieren a localidades diferentes y cada uno tiene un codigo de sitio diferente. Conseguí meter en el array el id y el nombre
Código PHP:
$query = 'SELECT idsites, nombre AS "sitios" FROM sitios ORDER BY "sitios"';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
$arreglo_php = array();
if(pg_num_rows($result)==0)
array_push($arreglo_php, "NO Datos");
else{
while ($Sitio = pg_fetch_array($result)) {
array_push($arreglo_php, $Sitio["idsites"], $Sitio["sitios"]);
}
}
ahora jQuery
Código HTML:
<script type="text/javascript">
$(function(){
var autocompletar = new Array();
<?php // php para obtener datos
for($p = 0;$p < count($arreglo_php); $p++){ //usamos count para saber cuantos elementos hay ?>
autocompletar.push('<?php echo $arreglo_php[$p]; ?>');
<?php } ?>
$("#Sitio").autocomplete({ //Usamos el ID de la caja de texto donde lo queremos
source: autocompletar //Le decimos que nuestra fuente es el arreglo
});
});
</script>
Si hago un alert me sale efectivamente el id y el sitio. Como el nombre lo tengo en el Input (#Sitio) necesito saber como pasar ese $Sitio["idsites"] a un input tipo hidden para el ID, de ese modo, paso el id al script que ejecuta el formulario ya que el id es único y obtengo resultados, si no no me pasa del primer sitio coincidente al siguiente.
No se si me he explicado.