Question about MySQL
Fermé
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
-
5 nov. 2008 à 16:33
xxkirastarothxx Messages postés 380 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 - 6 nov. 2008 à 10:41
xxkirastarothxx Messages postés 380 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 - 6 nov. 2008 à 10:41
A voir également:
- Question about MySQL
- Mysql community server - Télécharger - Bases de données
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
- Mysql gratuit ou payant - Forum MySQL
- Mysql error 1 ✓ - Forum Réseaux sociaux
3 réponses
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
5 nov. 2008 à 17:04
5 nov. 2008 à 17:04
Ca dépend vraiement de ce que tu appelle les textes de ton site =)
si tu veux que ton site soit multiluingue, je te conseil de tout d'abbord créer deux fichier: french.php et english.php ou tu stoquera tout les mots que tu n'enregistre pas dans ta base de donnée, et de définir leur valeur en fonction de la langue.
exemple:
Pour le mettre en place dans ton php, plutot que d'ecrire <?php echo "titre";?> ecrit plutot <?php echo _TITLE;?>
Ensuite definis par exemple une variable de session que l'utilisateur pourra modifier afin de définir sa langue,
et dans ton index.php, fait un include sous condition:
Ensuite pour les donnée que tu enregistre dans ta bdd, comme les news, ou les articles ...
Je te conseil de tout laisser dans la même table:
genre:
-id
-title
-date
-textfr
-texten
...
...
et dans ta page ou tu affiche ces données:
si tu veux que ton site soit multiluingue, je te conseil de tout d'abbord créer deux fichier: french.php et english.php ou tu stoquera tout les mots que tu n'enregistre pas dans ta base de donnée, et de définir leur valeur en fonction de la langue.
exemple:
french.php: define("_TITLE", "titre"); define("_WELCOM", "Bienvenue sur mon super site-web"); define("_CONTENT", "contenu"); define("_ERROR", "erreur"); ... ...-----------------------------
english.php: define("_TITLE", "title"); define("_WELCOM", "Welcom on my super Web-Site"); define("_CONTENT", "content"); define("_ERROR", "error"); ... ...Car tu n'enregistre surement pas tout les mot de ton site en SQL ^^
Pour le mettre en place dans ton php, plutot que d'ecrire <?php echo "titre";?> ecrit plutot <?php echo _TITLE;?>
Ensuite definis par exemple une variable de session que l'utilisateur pourra modifier afin de définir sa langue,
et dans ton index.php, fait un include sous condition:
If($_SESSION['lang'] == fr){ include('lang/french.php');} elseif($_SESSION['lang'] == en) {include('lang/english.php}
Ensuite pour les donnée que tu enregistre dans ta bdd, comme les news, ou les articles ...
Je te conseil de tout laisser dans la même table:
genre:
-id
-title
-date
-textfr
-texten
...
...
et dans ta page ou tu affiche ces données:
If($_SESSION['lang'] == fr){ $text = $donnees['textfr'];} else {$text = $donnees['texten'];}
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
72
6 nov. 2008 à 10:23
6 nov. 2008 à 10:23
merci beaucoup pour cette idée. Je la retiens, bien sur.
En fait le problème est que je vais avoir un nombre, pour le moment indéfini, de traductions. Donc j'ai peur qu'au bout d'un moment, si je fais une seule table, qu'elle soit beaucoup sollicitée en simultanée si on a pas mal de visite sur le site...
c'est pourquoi je voyais plutot au niveau de mon CMS une procédure de création de lanque qui créerait toutes les tables nécessaires à une nouvelle langue. (table des textes, table des éléments graphiques traduits, etc... )
En fait le problème est que je vais avoir un nombre, pour le moment indéfini, de traductions. Donc j'ai peur qu'au bout d'un moment, si je fais une seule table, qu'elle soit beaucoup sollicitée en simultanée si on a pas mal de visite sur le site...
c'est pourquoi je voyais plutot au niveau de mon CMS une procédure de création de lanque qui créerait toutes les tables nécessaires à une nouvelle langue. (table des textes, table des éléments graphiques traduits, etc... )
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
6 nov. 2008 à 10:41
6 nov. 2008 à 10:41
Oui, mais chaque utilisateur n'utilisera les données que d'un seul champ à chaque fois:
Imaginons que tu ai 200 utilisateurs français, il y aura 200 requêtes sur la même tables,
et si tu as 100 utilisateurs français et 100 anglais, ça serra pareil,
ou 30 fr, 30en, 30de, 30be, 30es ......
ce qui compte c'est le nombre d'utilisateurs qui se connectera, pas le nombre de différentes traductions.
Si tu penses que tu aura un nombre d'utilisateurs vraiment important, tu peux effectivement penser à séparer les tables afin d'alléger le tout, mais je ne pense vraiment pas que ça soit nécessaire.
Imaginons que tu ai 200 utilisateurs français, il y aura 200 requêtes sur la même tables,
et si tu as 100 utilisateurs français et 100 anglais, ça serra pareil,
ou 30 fr, 30en, 30de, 30be, 30es ......
ce qui compte c'est le nombre d'utilisateurs qui se connectera, pas le nombre de différentes traductions.
Si tu penses que tu aura un nombre d'utilisateurs vraiment important, tu peux effectivement penser à séparer les tables afin d'alléger le tout, mais je ne pense vraiment pas que ça soit nécessaire.