Hola a todos.
Estoy diseñando un sistema multidioma en la que se utiliza dos tablas. Para este ejemplo:
tabla_Animales y tabla_Animales_lang
La primera tabla guarda:
id_animal, nombre, raza, nacimiento, peso, pelaje
La segunda tabla guarda:
id_animal, id_org_animal, nombre, raza, pelaje, idioma
Es decir, en la segunda sólo se guardan datos que se puedan traducir a otros idiomas. Porque en la primera estarían los textos nativos en español.
id_org_animal es el campo que vincula a esta tabla con la primera.
Ahora viene la duda de cuando el sistema solicita los datos en un concreto a través de una variable de php que incrusta en la consulta MySql.
Para este ejemplo pongamos que la variable puede tomar dos valores:
1 = español
2 = inglés
Pensé en obtener los resultados comparando el idioma de la variable del lenguaje:
Código MySQL:
Ver originalIF(#var_php#>1, (SELECT (nombre, raza, pelaje) FROM tabla_Animales_lang WHERE id_org_animal
= id
AND #var_php#= 3), (nombre, raza, pelaje))
Con un campo que se muestre dentro de IF funciona correctamente, pero con varios no es posible.
Se que puedo pasar el contenido en español a la tabla de idiomas y luego mostrar una consulta con INNER JOIN, resultado una combinación de ambas. Pero el problema es que se está adaptado una plataforma ya realizada a varios idiomas...
¿A alguien se le ocurre la manera de mostrar los campos en español de la primera en el caso de que se solicite así, y que muestre para los otros idiomas en determinadas situación?
Gracias y un saludo.