Trouver la requête qui permet de générer ce tableau

Eléphant du PHP | 246 Messages

03 janv. 2014, 19:11

Hello!

Je suis en train de faire une appli multilingue avec possibilité d'éditer les texte de l'application via un formulaire.

L'idée est la suivante. je génère un tableau comme ceci avec des champs texte à l'intérieur et on peut directement éditer la traduction. Si il n'y a pas de traduction cela ne doit pas poser deproblème d'affichage.
Image

Est-ce possible de générer ceci avec une seule requête ? Ou alors un minimum ?

J'ai dans ma base, 3 tables :
- language : contient différentes langues, comme fr, de, en, ...
- tag : contient un tag, un code, qui sera remplacé par la traduction. Par exemple NOM_APP, LANGUAGE, ABOUT, ...
- string : contient la traduction. Donc chaque enregistrement de "string" fait référence à un élément de "language" et de "tag".

Car là, la solution que j'ai trouvé est de faire en PHP 3 boucles imbriqué. L'une avec un SELECT sur les languages, un autre SELECT simple sur les tag, et en dernier SELECT sur string (avec comme condition, les référence de la langue et du tag). Je sais pas si c'est l'idéal...

Merci d'avance!

Eléphant du PHP | 453 Messages

04 janv. 2014, 03:27

Salut,

Il te faut seulement 2 tables (vu l'énoncé de ton illustration) :
- langues
- traduction de tes éléments (cette table peut être scindée dans le sens que tu auras des données sur des légumes et des données sur les fruits par exemple).

La requete avec une seule boucle
SELECT
	t.nom_app,
	t.about,
	t.button_login,
	l.name  #language est à éviter
FROM 
	trads AS t,
	langues AS l 
WHERE 
	l.id = t.langue_id
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia