Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2012, 08:35
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 0
otro frente: pg_fetch_array

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($resultnullPGSQL_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?