Une variable dans $row[variable?] en php

Fermé
nguizan Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 9 septembre 2015 - Modifié par nguizan le 27/08/2012 à 17:32
nguizan Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 9 septembre 2015 - 28 août 2012 à 12:20
Bonjour,

Comme indiqué dans le le titre, je désire faire en sorte que le nom du champ que je récupère depuis ma base de données via php soit une variable tel que ci-dessous:

$row[$titre];

ça ne fonctionne évidemment pas.

Ceci me servira à faire varier le nom du champ en question afin que je puisse réupérer du texte dans des langues différentes provenant de la base de données.

Pour que ce soit un peu plus claire voici mon code:

<?php  
$title = "titre_".$lang; 
while($result = mysql_fetch_assoc($requete)) { ?> 

<li><a href="<?php echo($result['url'])?>"><?php echo $result["$title"];?></a></li> 

<?php   }  ?> 


La variable $lang est initialisée plus haut ainsi que la variable contenant la requête sql qui est un simple SELECT.

Merci de votre aide.

9 réponses

Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
28 août 2012 à 12:03
Bonjour,

J'ai peut-être un code qui permette de résoudre le problème.

Je l'ai écrit lorsque je voulais faire des variables pour traduire certaines choses de mon site automatiquement.

$query='SELECT wording, text FROM translations WHERE lang="'.$lang.'"';
$result=mysql_query($query);
$translate=array();

while($data=mysql_fetch_assoc($result)){
	foreach($data as $k=>$v){
		if($k=='wording'){
			$temp=$v;
		}else{
			$translate[$temp]=$v;
		}
	}
}


Ainsi, si j'écris dans mon code :
$translate['home']
il me donnera en français "Accueil", en anglais "Home", etc.
1