Remplacer un attribut par autre chose ( Php )

Eléphanteau du PHP | 13 Messages

03 oct. 2012, 19:05

Bonjour tout le monde , je vous remercie d'avance de lire mon problème :
Alors enfaite dans ma table il y a une colonne 'JobType' qui peut être sous trois formes "0" "1" "2" "3" , et bon dans un site 0 , 1, 2 et 3 c'est un peu moche , j'aimerais juste que quand c'est 0 ça affiche None , 1 = Trader et je ferrais la suite avec l'exemple que vous me donnerez ( pour apprendre) j'espère vraiment que vous m'avez compris.
Merci à vous :)

Eléphant du PHP | 229 Messages

03 oct. 2012, 20:49

Bonjour.
Soit on modifie la table soit on interprete la valeur avec un switch
Tu préfères quoi?

Eléphanteau du PHP | 13 Messages

03 oct. 2012, 22:33

Ah , je ne peux pas me permettre de changer la table , mais interprete la valeur avec un switch je ne l'ai jamais fais , c'est bien d’interprété une valeur par une variable choisie ?
Enfin .. J'ai vue sur un forum ça :
if($GID!=""){
}
ça peux être utile ?

Eléphant du PHP | 229 Messages

04 oct. 2012, 06:24

le if marche aussi, mais switch est plus compact quand tu as plusieurs valeurs.

http://php.net/manual/fr/control-structures.switch.php

Voici un exemple ;
Considérons que le résultat de ta requête est stocké dans la variable $sql1.
switch ($sql1){
case 1 : $sql1_traduit='none';break; //si la valeur de $sql1 est 1 alors $sql1_traduit aura la valeur 'none'.
case 2 : $sql1_traduit='Trader';break; 
case 3 : $sql1_traduit='bidule truc';break;
} 
echo $sql1; //affiche la valeur de $sql1
echo $sql1_traduit; //affiche la valeur de $sql1 traduite

Ensuite tu utilises la variable $sql1_switch pour l'affichage.

On pourrait créer aussi une nouvelle table ayant pour PRIMARY KEY un champs qui a les valeurs 1 2 3 et en second champ la traduction.
Image
Bon codage.

Mammouth du PHP | 2278 Messages

04 oct. 2012, 09:20

Une autre solution serait de créer un tableau stocké dans un fichier inclus:
$t_boulots = array ("aucun", chômeur","assisté","consisté","persisté");
et chaque fois que tu as besoin de traduction, tu te sers de ce tableau:
pour construire un select:
$nb = count($t_boulots);
$select_boulot = "<select name ='boulot'>";
for ($i = 0; $i < $nb; $i++)
{
$choix = $t_boulots[$i];
$select_boulot .= "<option value ='$i'>$choix</option>";
}
$select_boulot .= "</select>";
print "$select_boulot";
après consultation de la table :
$boulot_du_mec = $t_boulots[$valeur_trouvée dans la table];
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 702 Messages

05 oct. 2012, 21:57

sinon tu peux créer une fonction et l'executer autant de fois que tu veux, par exemple:
<?php
function interpreter($var)
{
    if ($var == 1) {
        echo 'texte 1';
    } elseif ($var == 2) {
        echo 'texte 2';
    }
    
}

?>
et pour l'executer:
<?php echo interpreter($variableainterpreter) ; ?>