Je travaille sur un site qui pourrait devenir mulitlingue.
Dans ma page html, j'appelle le texte en utilisant la syntaxe suivante, par exemple pour afficher le titre :
$txt = "SELECT français FROM texte WHERE section='titre'";
$reqtxt = mysql_query($txt);
$restxt = mysql_fetch_assoc($reqtxt);
$affichage = $restxt[$langue];
print $affichage;
où section désigne l'emplacement (ou la "cible", si vous préférez) dans la page.La structure de ma table "texte" est la suivante :
Code : Tout sélectionner
CREATE TABLE 'texte' (
'identifiant' tinyint(4) NOT NULL auto_increment,
'page' varchar(25) NOT NULL,
'section' varchar(25) NOT NULL,
'français' mediumtext NOT NULL,
'anglais' mediumtext NOT NULL,
PRIMARY KEY (`identifiant`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
Oui, mais... comment faire ?
J'ai essayé de travailler avec mysql_fetch_assoc et mysql_fetch_array avec une syntaxe comme
$txt = "SELECT section,français FROM texte WHERE page='index'";
$reqtxt = mysql_query($txt);
while ($row = mysql_fetch_assoc($reqtxt)) {
echo $row["section"];
echo $row["français"];
}
mais les champs s'affichent les uns derrières les autres, quelle que soit la fonction.Or, je souhaiterai pouvoir récupérer le couple section/texte distinctement pour utiliser une syntaxe comme
$titre = ma "sous-requête" Sql_a
print $titre;
$adresse = ma "sous_requête" Sql_b
print $adresse
Il me semble que ce genre de requête doit utiliser un tableau associatif, mais cette notion ne m'est pas familière. J'ai essayé aussi avec mysql_dataseek, sans résultat intéressant.J'espère ne pas avoir été confus.
Merci de votre aide.
Cordialement,
I.