Probleme fonction if

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme fonction if

Re: Probleme fonction if

par albat » 23 sept. 2012, 10:02

switch ($stat)
       { case 'energy'   : echo 'Energie'; break;
         case 'will'     : echo '<img src="images/v.png" alt="Volonté" />Volonté'; break;
         case 'strength' : echo '<img src="images/muscle.png" alt="Force" />Force'; break;
         case 'agility'  : echo 'Agilité'; break;
         case 'guard'    : echo 'Defense'; break;
         case 'labour'   : echo 'Travail'; break;
         case 'robskill' : echo 'Subtilisation'; break;
         case 'IQ'       : echo 'QI'; break;
         case 'brave'    : echo 'Courage'; break;
         case 'hp'       : echo '<img src="images/icon-health.png" alt="Sante" />Santé'; break;
         case 'hospital' : echo 'Temps Hopital'; break;
         case 'jail'     : echo 'Temps Prison'; break;
         case 'money'    : echo 'Cash'; break;
         case 'crystals' : echo 'Cristaux'; break;
         case 'crimexp'  : echo 'EXP Crimes'; break;
       }
Difficile de faire plus simple... ;)

Re: Probleme fonction if

par albat » 23 sept. 2012, 09:55

Le switch est tout aussi simple à faire évoluer.
Il suffit d'ajouter un cas.

Et il présente l'avantage sur le tableau d'utiliser beaucoup moins de ressource mémoire.

Re: Probleme fonction if

par sirakawa » 23 sept. 2012, 09:35

Bjr,
un tableau ferait aussi l'affaire:
$t_mots = array
(
    "energy" => array("en"=>"energy", "fr"=>"Energie", "image"=>"v" ),
    "strength" => array("en"=>"strength", "fr"=>"Force","image"=>"muscle")
)
$langue = "fr"; //defined elsewhere
$texte = $t_mots[$stat][$langue];
$image = $t_mots[$stat]['image'];
En plus, il est plus facile à étendre à d'autres éléments en cas d'oubli, pour ajouter d'autres langues, etc...

Re: Probleme fonction if

par albat » 22 sept. 2012, 18:46

Code : Tout sélectionner

if ($stat==energy) { echo "Energie"; }else if ($stat==will) {echo "<img src='images/v.png' alt='Volonté' />Volonté"; }else if ($stat==strength) {echo "<img src='images/muscle.png' alt='Force' />Force"; }else if ($stat==agility) {echo "Agilité"; }else if ($stat==guard) {echo "Defense"; }else if ($stat==labour) {echo "Travail"; }else if ($stat==robskill) {echo "Subtilisation"; }else if ($stat==IQ) {echo "QI"; }else if ($stat==brave) {echo "Courage"; }else if ($stat==hp) {echo "<img src='images/icon-health.png' alt='Sante' />Santé"; }else if ($stat==hospital) {echo "Temps Hopital"; }else if ($stat==jail) {echo "Temps Prison"; }else if ($stat==money) {echo "Cash"; }else if ($stat==crystals) {echo "Cristaux"; }else if ($stat==crimexp) {echo "EXP Crimes"; }
Mon Dieu ! Quelle horreur !

Allez,je te recommande de jeter un oeil sur l'opérateur switch... ;)

Re: Probleme fonction if

par sirakawa » 22 sept. 2012, 17:05

Bjr,
Ce qui m'étonne, c'est qu'il n'y ait pas d'erreur du genre undefined constant energy, using energy, à moins qu'elles soient noyées au milieu d'autre chose. Regarde le code source dans ton navigateur. En fait, php remplace tes constantes inconnues par leur nom, ce qui fait que ça fonctionne, presque malgré toi...
Normalement :
if ($nom_de_variable == 1) :// nombre
if ($nom_de_variable == "chaîne")//chaîne
if ($nom_de_variable == constante)//constante
if ($stat == "energy")//variable chaî,ne
ou
define ("energy","energy");
if ($stat == energy)

Re: Probleme fonction if

par Oasisdudesert » 22 sept. 2012, 14:02

Merci,

Je l'ai fait de la facon suivante qui semble fonctionner :

Code : Tout sélectionner

if ($stat==energy) { echo "Energie"; }else if ($stat==will) {echo "<img src='images/v.png' alt='Volonté' />Volonté"; }else if ($stat==strength) {echo "<img src='images/muscle.png' alt='Force' />Force"; }else if ($stat==agility) {echo "Agilité"; }else if ($stat==guard) {echo "Defense"; }else if ($stat==labour) {echo "Travail"; }else if ($stat==robskill) {echo "Subtilisation"; }else if ($stat==IQ) {echo "QI"; }else if ($stat==brave) {echo "Courage"; }else if ($stat==hp) {echo "<img src='images/icon-health.png' alt='Sante' />Santé"; }else if ($stat==hospital) {echo "Temps Hopital"; }else if ($stat==jail) {echo "Temps Prison"; }else if ($stat==money) {echo "Cash"; }else if ($stat==crystals) {echo "Cristaux"; }else if ($stat==crimexp) {echo "EXP Crimes"; }

Re: Probleme fonction if

par moogli » 22 sept. 2012, 11:43

Salut,

Je te conseil de revoir la syntaxe de php en général et celle des chaîne de caractère en particulier.

Pour cela tu lire les tuto de http://www.phpdebutant.org

Quand as la "traduction" il faut voir si c'est dans un texte plus complet ou s'il n'y a qu'un mot.

Dans le premier cas, utilise str_replace (ou str_ireplace qui est insensible à la casse).

D'ailleurs avec ce code tu devrais avoir des messages d'erreur si ce n'est pas le cas je t'invite à passer ton niveau d'erreur à E_ALL (avec error_reporting(E_ALL) en première lignes de ton script).

Essai de corriger ton code et revient vers nous si besoin.

@+

Re: Probleme fonction if

par Oasisdudesert » 22 sept. 2012, 11:36

Pardon je ne peux l'editer, donc j'ajoute que je veux traduire le mot energy que si c'est ce mot qui est ecrit

Probleme fonction if

par Oasisdudesert » 22 sept. 2012, 11:29

Bonjour,

Que la condition soit verifiée ou pas il m'affiche quand meme meme le mot traduit en mettant :

{
if ($stat=energy)

print "Energie";
}

Ou est ce que j'ai faux pour ne l'afficher que si verifié?

Merci de votre aide