Etaf Posté 27 Mai 2008 Posté 27 Mai 2008 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 !
captain_torche Posté 27 Mai 2008 Posté 27 Mai 2008 <?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 guiseforeach($tab as $key => $value) { if(in_array($departement, $value)) { $zone = $key; break; }}?>
Etaf Posté 27 Mai 2008 Auteur Posté 27 Mai 2008 Ç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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant