Aller au contenu

Sujets conseillés

Posté

Bonjour à tous,

J'ai un client qui a besoin de classer les départements dans plusieurs zones pour établir un listing de ses clients et les envoyé aux commerciaux qui sont en charge de leurs départements.

Comme les commerciaux ont des primes à la commission il ne souhaite pas donner la liste complété des clients mais juste celle des départements auxquels ils sont affectés.

Je me retrouve donc avec 7 zones ( A, B, C, D, E, F et exp pour l'export)

Voici mes vilaines conditions :

CODE
if ( $departement == 18 || $departement == 22 || $departement == 28 || $departement == 29 || $departement == 35 || $departement == 36 || $departement == 37 || $departement == 41 || $departement == 44 || $departement == 45 || $departement == 49 || $departement == 53 || $departement == 56 || $departement == 58 || $departement == 72 || $departement == 78 || $departement == 79 || $departement == 85 || $departement == 86){

$zone = "A";

}

elseif( $departement == 02 || $departement == 08 || $departement == 10 || $departement == 14 || $departement == 27 || $departement == 50 || $departement == 51 || $departement == 52 || $departement == 54 || $departement == 55 || $departement == 57 || $departement == 59 || $departement == 60 || $departement == 61 || $departement == 62 || $departement == 76 || $departement == 77 || $departement == 80 || $departement == 89 || $departement == 95){

$zone = "B";

}

elseif ( $departement == 01 || $departement == 03 || $departement == 21 || $departement == 25 || $departement == 38 || $departement == 39 || $departement == 42 || $departement == 63 || $departement == 67 || $departement == 68 || $departement == 69 || $departement == 70 || $departement == 71 || $departement == 73 || $departement == 74 || $departement == 88 || $departement == 90){

$zone = "C";

}

elseif ( $departement == 04 || $departement == 05 || $departement == 06 || $departement == 07 || $departement == 12 || $departement == 13 || $departement == 15 || $departement == 20 || $departement == 26 || $departement == 30 || $departement == 34 || $departement == 43 || $departement == 48 || $departement == 83 || $departement == 84){

$zone = "D";

}

elseif( $departement == 09 $departement == 11 || $departement == 16 || $departement == 17 || $departement == 19 || $departement == 23 || $departement == 24 || $departement == 31 || $departement == 32 || $departement == 33 || $departement == 40 || $departement == 46 || $departement == 47 || $departement == 64 || $departement == 65 || $departement == 66 || $departement == 81 || $departement == 82 || $departement == 87){

$zone = "E";

}

elseif ( $departement == 75 || $departement == 91 || $departement == 92 || $departement == 93 || $departement == 94){

$zone = "F";

}

elseif ($departement == 97){

$zone "G";

}

else{

$zone "Exp";

}

Cela fonctionne sans soucis bien sûr mais... C'est absolument ignoble je trouve.

Comment vous vous y prendriez à ma place pour avoir quelque chose d'un peu plus optimisé et un peu plus clair?

Merci d'avance pour vos réponses !

Posté
<?php
$tab = array(
'A' => array(18,22,28,29,35,36,37,41,44,45,47,49,53,55,58,72,78,79,85,86),
'B' => array('02','08',10,14,27,50,51,52,54,55,57,59,60,61,62,76,77,80,89,95)
);
// Tu complètes bien sûr le tableau à ta guise
foreach($tab as $key => $value) {
if(in_array($departement, $value)) {
$zone = $key;
break;
}
}
?>

Posté

Ça parait ci simple écrit de cette façon...

Je te remercie grandement pour ta réponse et la rapidité à la quelle tu es intervenu sur ce post !

Bonne journée.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...