Bonjour,
J'ai un array qui contient plusieurs array.
Je l'enregistre les valeurs de deux éléments dans MySql :
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
$data_json = '{
   "produits": [
      {
         "grams": 0,
         "product_id": 11111,
         "name": "titi",
         "product_exists": true
      },
      {
         "grams": 1000,
         "product_id": 11112,
         "name": "titiqqq",
         "product_exists": true
      },
	        {
         "grams": 1000,
         "product_id": 11114,
         "name": "toto",
         "product_exists": true
      },
      {
         "grams": 2050,
         "product_id": 11113,
         "name": "tata",
         "product_exists": true
      },
	  {
         "grams": 1000,
         "product_id": 11162,
         "name": "tataaa",
         "product_exists": true
      },
	  {
         "grams": 1000,
         "product_id": 11115,
         "name": "tatasss",
         "product_exists": true
      }
   ]
}';
 
$data_obj = json_decode($data_json); 
 
//var_dump ($data_json);
//print_r ($data_json);
 
$count = count($data_obj->produits);
//echo $count;
 
$i = 0;
while ($i < $count)
	{
 
		foreach ($data_obj->produits as $obj) 
		{
 
			$nom_produit = $obj->name;
			$produit_id = $obj->product_id;
				//var_dump($obj);
 
			$stmt = $bdd->prepare("INSERT INTO $tableData	($champ_nom,
												 $champ_product_id)				
 
									VALUES (:champ_nom,
										     :champ_product_id)");
 
			$stmt->execute(array(':champ_nom'=>$nom_produit,
							':champ_product_id'=>$produit_id
							));				
 
 
 
			$i++;
		}
 
	}
Mais je ne veux pas enregistre les tableaux qui contiennent : "name": "toto" ; "titiqqq" ; "tataaa" et "tatasss"
Je pensais de mettre un switch mais c'est absurde!
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
	$produit_id = $obj->product_id;
				//var_dump($obj);
 
 
			$critere_nom = array("titiqqq", "toto", "tataaa", "tatasss",);	
 
			switch($nom_produit)
					{							
						case $critere_nom: 
 
								// on ne fait rien
 
						break;
 
						default:
							$stmt = $bdd->prepare("INSERT INTO $tableData    ($champ_nom,
																$champ_product_id)				
 
							VALUES (:champ_nom,
								     :champ_product_id)");
 
							$stmt->execute(array(':champ_nom'=>$nom_produit,
										       ':champ_product_id'=>$produit_id
											));								
 
							break;
					} 
 
			$i++;
Il faut que je supprime les tableaux qui contiennent ces noms. Mais je n'ai pas encore trouvé la solution....

Merci