hola, se me acumulan los frentes abiertos xD!
el caso es q hago una query a una tabla postgress en la que tengo unos datos en varios idiomas, no todos tienen valor, puede que el que este en Ingles no tenga su correpondencia en Español, que si la tenga en Español, pero no la tenga en portugues... Tengo la pagina multilenguaje, asigno una variable de sesion de lenguaje. hago la query:
Código PHP:
$query = 'SELECT a_code, scientific_name, english_name, spanish_name, portuguese_name FROM specie where registered = true ORDER BY scientific_name';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
Entonces ahora imprimo los resultados de las lineas en un select y hago la comparacion con la variable de idioma para que imprima los valores que se corresponden con el idioma de la pagina, si uno de los campos de idioma estan vacios por defecto quiero poner "scientific_name"
Código PHP:
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
if ($lange == 'en'){
echo "<option value=". $line["a_code"].">". $line["english_name"]."</option>";
} else if ($lange == 'es'){
echo "<option value=". $line["a_code"].">". $line["spanish_name"]."</option>";
} else if ($lange == 'pt'){
echo "<option value=". $line["a_code"].">". $line["portuguese_name"]."</option>";
} else {
echo "<option value=". $line["a_code"].">". $line["scientific_name"]."</option>";
}
}
Si, ya se que con un switch case quedaria mas elegante (tengo tiempo a cambiarlo)
Ahora la duda es para hacer la comprobacion al estar un idioma vacio, pq a_code lo tienen todos no asi el texto de idioma.
¿?¿?
Código PHP:
if (!$line["english_name"]{
echo "<option value=". $line["a_code"].">". $line["scientific_name"]."</option>";
}
muy ingenuo suena esto, no?