J'ai un pétit problème avec l'insruction switch qui ne fait pas son travail ?
Ou est l'erreur .

Remarque la variable $ag reste vide et la requette query_update na donc aucune chance d'aboutir.

Merci d'avance pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
foreach ($agences as $buro => $info_buro) {
         echo 'info_buro = ' .$info_buro['bp'] .'<BR>';   
      if (in_array($row[4], $info_buro['bp'])) {
         echo 'L\'atribution à réuçi' .'<BR>';
              switch ($buro) {
              case "rouen":
                  case "paris":      
                  case "bourg":
                  case "pont":
                  case "mars":
                  case "metz":
                  case "vannes":
             case "paris2":
             case "toulouse":
                  case "lens":
                  case "dunk":
                  case "lyon":
                  case "montp":
                  case "lebou":
                  case "agen":
              $ag = $buro;         
                  break;
              }
      }
   } 
 
<?php

Voici le programe dans son intégralité qui est encore en cours de dévelopement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
<?php
 
//-- distribution des emails... ------------------------------------------------
$agences=array();
$agences['rouen']['mail']='adresse_mail@blabla.com';
$agences['rouen']['bp']=array('14', '27', '28', '37', '41', '45', '50', '61', '76', '80');
 
$agences['paris']['mail']='adresse_mail@blabla.com';
$agences['paris']['bp'] =array('60', '78', '95');
 
$agences['paris2']['mail']='adresse_mail@blabla.com';
$agences['paris2']['bp']=array('10', '51', '75', '77', '89', '91', '92', '93', '94');
 
$agences['dunk']['mail']='adresse_mail@blabla.com';
$agences['dunk']['bp'] =array('59');
 
$agences['lens']['mail']='adresse_mail@blabla.com';
$agences['lens']['bp']=array('02' ,'08' ,'62');
 
$agences['bourg']['mail'] ='adresse_mail@blabla.com';
$agences['bourg']['bp'] =array('18','36','58');
 
$agences['vannes']['mail'] ='adresse_mail@blabla.com';
$agences['vannes']['bp'] =array('22' ,'29' ,'35' ,'53' ,'56' ,'72');
 
$agences['pont']['mail'] = 'adresse_mail@blabla.com';
$agences['pont']['bp']=array('23' ,'44','49','79','85' ,'86','87');
 
$agences['lebou']['mail'] = 'ladresse_mail@blabla.com';
$agences['lebou']['bp'] =array('16' ,'17' ,'19' ,'33' ,'40', '64');
 
$agences['agen']['mail'] = "adresse_mail@blabla.com";
$agences['agen']['bp'] = array('24', '47');
 
$agences['toulouse']['mail']='adresse_mail@blabla.com';
$agences['toulouse']['bp']=array('09' ,'12' ,'31' ,'32' ,'46' ,'65' ,'82' ,'81');
 
$agences['montp']['mail'] = "adresse_mail@blabla.com";
$agences['montp']['bp'] =array('11' ,'30' ,'34' ,'48' ,'66');
 
$agences['mars']['mail']='adresse_mail@blabla.com' ;
$agences['mars']['bp']=array('04' ,'05' ,'06' ,'13' ,'83' ,'84');
 
$agences['lyon']['mail'] ='adresse_mail@blabla.com';
$agences['lyon']['bp']=array('01' ,'03' ,'07' ,'15' ,'21' ,'26' ,'38' ,'42' ,'43' ,'63' ,'69' ,'71' ,'73' ,'74');
 
$agences['metz']['mail']= 'adresse_mail@blabla.com';
$agences['metz']['bp'] =array('54' ,'55' ,'57' ,'67' ,'68' ,'88' ,'90' ,'25' ,'39', '70' ,'52' );
 
 
include("inc/db.conf.inc.php");
include("inc/class.MySQL_Abstractor.inc.php");
 
 
$db = new MySQL_Abstractor();
$db->set_params($db_host, $db_user, $db_pass, $db_base);
$db->connect();
 
$db->set_table("inscriptions");
 
$query = "Select id_inscription , date_inscription, agence_date_livraison, agence_secteur_livraison, code_postal FROM inscriptions where `id_inscription`=24";
 
echo $query .'<BR>';
 
$result = mysql_query($query);
 
echo $result .'<BR>';
 
if ( $result )
    echo mysql_affected_rows()  .'<BR>' .'Query O.K.' .'<BR>';
 
 
//récupération du nombre de lignes retournées
$num_results = mysql_num_rows($result);
 
echo $num_results .'<BR>';
 
//affichage de chacune des lignes retournées
for ($i=0; $i <$num_results; $i++)
{  
   $row = mysql_fetch_row($result);
   echo 'id_insription = ' .$row[0] .'<BR>';
   echo 'date_inscription = ' .$row[1] .'<BR>';
   echo 'agence_date_livraison = ' .$row[2] .'<BR>';
   echo 'agence_secteur_livraison = ' .$row[3] .'<BR>';
   echo 'code_postal = ' .$row[4] .'<BR>';
 
 
   $cp = substr($fiche['code_postal'], 0, 2);
 
 
   foreach ($agences as $buro => $info_buro) { 
   		echo 'info_buro = ' .$info_buro['bp'] .'<BR>';   
		if (in_array($row[4], $info_buro['bp'])) {
			echo 'L\'atribution à réuçi' .'<BR>';
        		switch ($buro) {
        		case "rouen":
            		case "paris":	    
            		case "bourg":
            		case "pont":
            		case "mars":
            		case "metz":
            		case "vannes":
	    		case "paris2":
	    		case "toulouse":
            		case "lens":
            		case "dunk":
            		case "lyon":
            		case "montp":
            		case "lebou":
            		case "agen":
	        	$ag = $buro;			
            		break;
        		}
		}
	}
 
 
   $query_update = "UPDATE inscriptions SET agence_secteur_livraison= " .$ag ." WHERE id_inscription=" .$row[0];
   echo 'query_update = ' .$query_update .'<BR>';
 
   //$result = mysql_query($query_update);
   //echo $result .'<BR>';
}   
 
$db->close();
unset($db);
 
?>
Et voiçi le retour de l'écran de débogage après excecution du script :


Select id_inscription , date_inscription, agence_date_livraison, agence_secteur_livraison, code_postal FROM inscriptions where `id_inscription`=24
Resource id #5
1
Query O.K.
1
id_insription = 24
date_inscription = 2005-02-18
agence_date_livraison = 20060113212434
agence_secteur_livraison =
code_postal = 62300
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
info_buro = Array
query_update = UPDATE inscriptions SET agence_secteur_livraison= WHERE id_inscription=24
Dans cet exemple j'aurais souhaite obtenir le résultat suivant :
query_update = UPDATE inscriptions SET agence_secteur_livraison='lens' WHERE id_inscription=24
car le code postal 62300 est attribué à agence de lens