Problème de conditions en PHP avec mysql_result


dadovb
WRInaute passionné
WRInaute passionné
 
Messages: 2050
Inscription: 22 Nov 2005

Problème de conditions en PHP avec mysql_result

Message le Jeu Jan 05, 2006 17:19

Bonjour à tous,
J'ai un problème que je qualifierais de cocasse avec un script php :

Je défini une variable globale $lang soit ='fr' soit ='en', en fonction de la valeur de cette variable,je vais selectionner tel ou tel champ ds ma table :

Code: Tout sélectionner
global $lang;
   
   $sql = "SELECT titre_$lang FROM table_truc WHERE num_auto='1'";
   $resultat=mysql_query($sql);
      if($resultat==FALSE){
         req_invalide($chemin,$sql);
       }
   if ($lang='fr') {$titre_base=mysql_result($resultat,0,'titre_fr');}
   if ($lang='en') {$titre_base=mysql_result($resultat,0,'titre_en');}

Alors le problème ce que ds ce cas, si ma variable globale est définie à 'en', tout va bien elle rentre bien ds la 2ème condition. Mais si je passe $lang à 'fr', ca ne marche pas, le script ne rentre pas ds la première condition.
Là où ca devient rigolo, c'est quand j'inverse l'odre des conditions :

Code: Tout sélectionner

if ($lang='en') {$titre_base=mysql_result($resultat,0,'titre_en');}
if ($lang='fr') {$titre_base=mysql_result($resultat,0,'titre_fr');}


Dans ce cas c l'inverse, si $lang='fr', le script rentre bien ds la deuxième condition, mais si $lang='en', ca ne rentre pas ds la première condition.

Comik non ?

Bon après j'ai essayé de la manière la plus logique qui soit, avec un else :
Code: Tout sélectionner
if ($lang='fr') {$titre_base=mysql_result($resultat,0,'titre_fr');}
   else {$titre_base=mysql_result($resultat,0,'titre_en');}


Dans ce cas, si $lang='fr', alors ca marche bien, mais si $lang='en', ca marche pas.

Donc je teste en inversant :
Code: Tout sélectionner
if ($lang='en') {$titre_base=mysql_result($resultat,0,'titre_en');}
   else {$titre_base=mysql_result($resultat,0,'titre_fr');}


Et la, si $lang='en' ca marche, mais $lang='fr', ca marche po.

Bon voilà, ca fais une demi_journée que je sèche la-dessus, donc n'hésitez-pas si vous avez la moindre idée sur la nature du problème.

Merci d'avance


Baronz
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 302
Inscription: 28 Avr 2005

Message le Jeu Jan 05, 2006 17:31

Code: Tout sélectionner
if ($lang=='fr') {$titre_base=mysql_result($resultat,0,'titre_fr');}
   if ($lang=='en') {$titre_base=mysql_result($resultat,0,'titre_en');}


Attention à bien mettre tes 2 = !!
Cela m'arrive souvent aussi ^^


dadovb
WRInaute passionné
WRInaute passionné
 
Messages: 2050
Inscription: 22 Nov 2005

Message le Jeu Jan 05, 2006 17:35

LOL, pardon à tous ceux qui perdu du temps à lire mon post j'espère que vous avez bien rigoler...

Et merci pour l'info...

Promis cette fois c la dernière == mon ami !


Baronz
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 302
Inscription: 28 Avr 2005

Message le Jeu Jan 05, 2006 17:50

Edit ton post en RESOLU alors :D

Bonne soirée.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité