Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2020, 13:27
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años
Puntos: 0
Autocompletar - hacer array con varios campos

Hola,
quiero hacer un select con autocompletar, hago la consulta PHP y armo el array para poder seleccionar por nombre. Hay dos columnas de nombre una Inglés y otra Castellano. Quiero mostrar el nombre Castellano, pero si hay campos vacíos en Castellano quiero que muestre además del de Castellano el nombre en Inglés. Es posible?

Hago para mostrar el nombre:
Código PHP:
$query 'SELECT vl_sports.id_sport, vl_sports.name_en_sport, vl_sports.name_es_sport ORDER BY vl_sports.id_sport';                        
    
$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 (
$elemento pg_fetch_array($result)) {
            
array_push($arreglo_php$elemento["name_es_sport"]);
        }
    } 
lo recoge:
Código HTML:
<script>
	$(function(){
		var autocompletar = new Array();
		<?php //Esto es un poco de php para obtener lo que necesitamos
			for($p = 0;$p < count($arreglo_php); $p++){ //usamos count para saber cuantos elementos hay ?>
			autocompletar.push('<?php echo $arreglo_php[$p]; ?>');
		<?php } ?>
		$("#elemento").autocomplete({ //Usamos el ID de la caja de texto donde lo queremos
			source: autocompletar //Le decimos que nuestra fuente es el arreglo
		});
	});
</script> 
Pensé en hacer algo como lo siguiente, aunque ya me atasqué, con esto solamente enseñaría uno u otro, no? no mostraría los nombres y Castellano y completaría con los Inglés...
Código PHP:
    $query 'SELECT vl_sports.id_sport, vl_sports.name_en_sport, vl_sports.name_es_sport ORDER BY vl_sports.id_sport';                        
    
$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 (
$elemento pg_fetch_array($result)) {
            if(!
$elemento["name_en_sport"]){
                
array_push($arreglo_php$elemento["name_es_sport"]);
            }else{
                
array_push($arreglo_php$elemento["name_en_sport"]);
            }
        }
    } 
?>