Bonjour,
Je suis entrain de traduire mon site. J'aimerai quand je clique sur une langue de traduire le contenu du champ que je récupère en fonction de la langue choisie . Ce contenu est récupéré dynamiquement dans la base de données. J'ai un champ pour chaque langue par exemple : description_produit_fr, description_produit_gb, description_produit_es.
Mon problème est que le contenu que je récupère en base de données ne change quand je change de langue.
Ci-dessous mon code :
Mon souci ce que je n'arrive pas à traduire les contenus qui sont récupérés en base de données. Quelqu'un peut m'aider.
Merci par avance !
Je suis entrain de traduire mon site. J'aimerai quand je clique sur une langue de traduire le contenu du champ que je récupère en fonction de la langue choisie . Ce contenu est récupéré dynamiquement dans la base de données. J'ai un champ pour chaque langue par exemple : description_produit_fr, description_produit_gb, description_produit_es.
Mon problème est que le contenu que je récupère en base de données ne change quand je change de langue.
Ci-dessous mon code :
$langues = array("FR", "GB", "ES");
foreach ($langues as $langue) {
if (isset($_SESSION['langue']) && !empty($_GET['page'])) {
if (in_array($_GET['page'], $langues)) {
$_SESSION['langue'] = $_GET['page'];
$langue = $_SESSION['langue'];
} else if (in_array($_SESSION['langue'], $langues)) {
$langue = $_SESSION['langue'];
} else {
$langue = "FR";
}
}
}
// Requete
$sql = " SELECT produit_id, produit_description_{$langue} FROM produit ORDER BY date DESC ";
$req = $db->prepare($sql);
$req->execute() or die(print_r($db->errorInfo()));
$data = $req->fetch(PDO::FETCH_ASSOC);
<!-- Liens navigations pour changer de langues -->
<div class="nav-lang">
<?php if (!isset($_SESSION['langue'])) { ?>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page='.$_GET['page']; } ?>">GB</a></div>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page='.$_GET['page']; } ?>">ES</a></div>
<?php } else {
if ($_SESSION['langue'] == 1) { ?>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">GB</a></div>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">ES</a></div>
<?php } else if ($_SESSION['langue'] == 2) { ?>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=FR<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">FR</a></div>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">ES</a></div>
<?php } else { ?>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=FR<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">FR</a></div>
<div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">GB</a></div>
<?php }
} ?>
</div>
<!-- Affichage de la description d'un produit récupérée en bd -->
<div class="content">
<div class="row"><?=$data['produit_description_'.$langue];?></div>
</div>
Mon souci ce que je n'arrive pas à traduire les contenus qui sont récupérés en base de données. Quelqu'un peut m'aider.
Merci par avance !