Bonjour à tous,


j'aurai besoin d'une aide pour construire un tableau array:

voici mon code

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
131
132
133
134
135
136
137
138
139
140
141
142
 
<?php session_start(); ?>
<?php
if(!isset($_SESSION['acces_inventaire'])) {
	include('login.php');
	echo 'Vous n\'êtes pas autorisé´ à acceder à cette zone';
	echo '<br>';
 
  exit;
}
elseif(isset($_SESSION['acces_inventaire']) && $_SESSION['acces_inventaire'] == 0)
{
 
	echo '<span class="important">Vous n\'êtes pas autorisé´ à acceder à cette zone</span>';
	echo '<br>';
	include('accueil.php');
  exit;
}
else
{
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title> Réalisation de l'inventaire de l'emballage</title>
<script type="text/javascript" src="javascript/menu.js"> </script>
<script type="text/javascript" src="javascript/divers.js"> </script>
<link rel="stylesheet" type="text/css" href="css/site.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
</head>
<body>
 
<div id="conteneur">
			<h1 id="header"><a href="accueil.php"></a></h1>
<?php
include("fonction/fonction.menu.php");
menu_classique();
?>
			<div id="contenu">
				<h2>Sélectionner le mois et l'année :</h2>
<?php
 
//$mois_inventaire = isset($_GET['mois_inventaire'])?$_GET['mois_inventaire']:null;
//$annee_inventaire = isset($_GET['annee_inventaire'])?$_GET['annee_inventaire']:null;
 
$mois_inventaire = 03;
$annee_inventaire = 2009;
?>
<br/>
<ul id="tabnav">
    <li><a href="recap_inv_mat.php?mois_inventaire=<?php echo $mois_inventaire;?>&amp;annee_inventaire=<?php echo $annee_inventaire;?>">Matiere premiere Surgelé</a></li>
	<li><a href="recap_inv_emb1.php?mois_inventaire=<?php echo $mois_inventaire;?>&amp;annee_inventaire=<?php echo $annee_inventaire;?>">Emballage Surgélé</a></li>
	<li><a href="recap_inv_total.php?mois_inventaire=<?php echo $mois_inventaire;?>&amp;annee_inventaire=<?php echo $annee_inventaire;?>">Total</a></li>
</ul>
<?php
 
$mois=1;
include("fonction/fonction.bdd.php");
connexion_mysql();
 
 
$mois_inventaire = 12;
$annee_inventaire = 2008;
$mois=1;
$nb=0;
while($mois!=12)
{
 
 
$ServArray = array ();
 
		$sql_id_matiere_type="SELECT  id_matiere_type FROM matiere_type ORDER BY id_matiere_type";
		$query_id_matiere_type = mysql_query($sql_id_matiere_type) or die('Erreur SQL !'.$sql_id_matiere_type.'<br>'.mysql_error());
		while($serviceid_matiere_type= mysql_fetch_array($query_id_matiere_type)) 
						{
						$id_matiere_type=$serviceid_matiere_type['id_matiere_type'];
 
						$sql1="SELECT  COALESCE(SUM(cond_m*qte_inventaire_mat*pu_j_inventaire_mat),0) AS total_mat_1, matiere.id_matiere_type  
						FROM inventaire_mat 
						INNER JOIN matiere ON matiere.code_m=inventaire_mat.code_m 
						INNER JOIN matiere_type mt ON mt.id_matiere_type=matiere.id_matiere_type
						WHERE matiere.id_matiere_type='$id_matiere_type' 
						AND mois_inventaire_mat='$mois_inventaire' 
						AND annee_inventaire_mat='$annee_inventaire'
						GROUP BY nom_matiere_type";
						echo '<br/>'.$sql1.'<br/>';
						$query1 = mysql_query($sql1) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
						$nbquery = mysql_num_rows($query1 );
 
						if ($nbquery == 0)
							{
							$ServArray[$mois_inventaire.'-'.$annee_inventaire][$id_matiere_type] = 0;
							}
							else
							{
							while($servicetab= mysql_fetch_array($query1)) 
						{
						echo '<br/>'.$servicetab['total_mat_1'].'<br/>';
 
						//$ServNom = $servicetab[1];
						//$ServId = $servicetab[0];
 
 
						$ServArray[$mois_inventaire.'-'.$annee_inventaire][$servicetab['id_matiere_type']] = $servicetab['total_mat_1'];
 
 
						}
							}
 
						}
 
 
$nb=$nb+1;
$mois=$mois+1;
$mois_inventaire = $mois_inventaire-1;
if($mois_inventaire==0)
{
$mois_inventaire=12;
$annee_inventaire= $annee_inventaire -1;
}
}
 
 
 
echo '<pre>';print_r($ServArray);echo'<br/>';
?>
<br/>
 
 
				</div>
<div id="information">
Ceci est la version v0.1a8.  
</div>
 
 
</div>
 
</body>
</html>

Explication:
- On enclenche une boucle (pour faire 12 mois)
- On exécute une requete SQL.(1er)
- On récupérant les résultat de cette première requete, on exécute une seconde.
-Puis on stocke le résultat de cette requete dans un tableau array.

On recommence jusqu'a que la boucle soit terminer.


Je n'arrive pas a stocker tout les informations dans le array, il me garde uniquement les dernières informations de la derniere boucle réalisé. (le mois de mars de l'année passé)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Array
(
    [3-2008] => Array
        (
            [1] => 0
            [2] => 0
            [3] => 0
        )
Quel est l'erreur que j'ai commise? Ma démarche est-elle bonne?

Merci

guigui69