Bonjour à tous,

J'ai un formulaire de 11 lignes et 30 colonnes max dont certaines colonnes indexées n'apparaissent pas dans le formulaire, j'ai fais une requête me donnant un tableau associatif de toutes entêtes de tableau, j'ai un retour de 17 colonnes

Je voudrais ensuite insérer les données du formulaire dans ma bdd mais je ne vois pas comment faire coincider les entetes de colonne avec la valeur des cellules, j'ai pourtant déjà fait des centaines de requêtes.

J'ai une requête qui me donne l'ensemble des lignes du tableau : 1er boucle sur cet ensemble de lignes
Sur chacune de ces lignes, je trouve les entêtes de colonnes : nom0, nom3, ...,nom23 (17 entêtes)
Je veux ensuite récupérer dans l'ordre cellule[0][0], cellule[0][3], ..., cellule[0][23] sachant qu'elles peuvent être vides

Je vous donne mon code

Code php : 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
143
144
145
146
147
148
149
150
151
152
153
154
 
// On sélectionne tous les id de bain d'indice les plus élevés d'un type de métal dans l'ordre alphabétique
        $txtRequete1001='   SELECT MAX(idBain) AS maxId 
                            FROM bain b, substancefaj s
                            WHERE s.compositionPrincipaleFAJ="'.$_POST['nomMetal'].'"
                            AND s.idFAJ=b.cleSubstanceFAJ 
                            GROUP BY b.referenceBain
                            ORDER BY b.referenceBain ASC';
 
        $requete1001=mysql_query($txtRequete1001) or die ('erreur1001');
        if(empty($requete1001))
        {
            echo'<h4>Il n\'existe pas de bains du métal '.$_POST['nomMetal'].'</h4>'."\n";
        }
        else
        {
 
            $j=0;
            $raz=Array();
            $compteur=Array();
            $inputMesure=Array();
 
            // Pour chacun de ces bains d'id donné, on sélectionne les paramètres analysés
            while($tableau1001=mysql_fetch_assoc($requete1001))
            {
////////////////// On entre les données de Compteur journalier ////////////////////////////////////////////
 
                // On récupère l'id de Compteur journalier du bain
                $txtRequete1002='   SELECT * 
                                    FROM fajvierge v,fajjour j 
                                    WHERE v.cleBain='.$tableau1001['maxId'].' 
                                    AND v.idParametreFAJVierge=j.cleParametreFAJJour 
                                    AND nomJourFAJ="'.$_POST["nomJourFAJ"].'"
                                    AND v.nomParamFAJVierge="Compteur journalier"';
 
                $requete1002=mysql_query($txtRequete1002) or die ('erreur1002'); // 1 ligne en retour
                $tableau1002=mysql_fetch_assoc($requete1002);
 
                // On récupère la valeur de raz
                if(isset($_POST['raz'][$j]))
                {
                    $raz[$j]='on';
                }
                else 
                {
                    $raz[$j]='';
                }
 
                // On récupère la valeur compteur
                if(isset($_POST['compteur'][$j]))
                {
                    $compteur[$j]=$_POST['compteur'][$j];
                }
                else 
                {
                    $compteur[$j]='';
                }
 
                // On récupère la valeur de remTbl2
                if(isset($_POST['remTbl2']))
                {
                    $remTbl2=$_POST['remTbl2'];
                }
                else 
                {
                    $remTbl2='';
                }
 
                // On insère la valeur de Compteur journalier
                $txtRequete1003='INSERT INTO donneefajjour VALUES(  "",
                                                                    "'.$tableau1002['idParametreFAJVierge'].'",
                                                                    "'.$compteur[$j].'",
                                                                    "on",
                                                                    "'.$raz[$j].'",
                                                                    "'.date("Y-m-d").'",
                                                                    "'.$remTbl2.'")';
 
                $requete1003=mysql_query($txtRequete1003) or die ('erreur1003');
 
////////////////// On entre les données des autres paramètres //////////////////////////////////////////////
 
                // On récupère l'id de chacun des paramètres (sauf compteur journalier)
                $txtRequete1004='   SELECT * 
                                    FROM fajvierge v,fajjour j 
                                    WHERE v.cleBain='.$tableau1001['maxId'].' 
                                    AND v.idParametreFAJVierge=j.cleParametreFAJJour
                                    AND nomJourFAJ="'.$_POST["nomJourFAJ"].'"
                                    AND v.nomParamFAJVierge<>"Compteur journalier"';
 
                echo $txtRequete1004.'<br />';
 
                $requete1004=mysql_query($txtRequete1004) or die ('erreur1004'); // 16 idParametreFAJVierge
 
 
 
                $inputMesure[$j]=Array();
                $analyse=Array();
 
                $i=0;
                while($tableau1004=mysql_fetch_assoc($requete1004))
                {
                    if(isset($_POST['analyse'][$i]))
                    {
                        $analyse[$i]='on';
                        echo 'analyse['.$i.'] : '.$analyse[$i]."\n";
                    }
                    else 
                    {
                        $analyse[$i]='';
                        echo 'analyse['.$i.'] : '.$analyse[$i]."\n";
                    }
                    echo'<br />';
 
                    if(isset($_POST['inputMesure'][$j][$i]))
                    {
                        $inputMesure[$j][$i]=$_POST['inputMesure'][$j][$i];
 
                        if($i<5 && isset($_POST['remTbl2']))
                        {
                            $remTbl=$_POST['remTbl2'];
                        }
                        else if($i>4 && $i<11 && isset($_POST['remTbl3']))
                        {
                            $remTbl=$_POST['remTbl3'];
                        }
                        else if($i>10 && $i<17 && isset($_POST['remTbl4']))
                        {
                            $remTbl=$_POST['remTbl4'];
                        }
                        else if($i>16 && $i<23 && isset($_POST['remTbl5']))
                        {
                            $remTbl=$_POST['remTbl5'];
                        }
                        else if($i>22 && $i<29 && isset($_POST['remTbl6']))
                        {
                            $remTbl=$_POST['remTbl6'];
                        }
 
                        // On insère la valeur des autres paramètres
                        $txtRequete1005='INSERT INTO donneefajjour VALUES(  "",
                                                                        "'.$tableau1004['idParametreFAJVierge'].'",
                                                                        "'.$inputMesure[$j][$i].'",
                                                                        "'.$analyse[$i].'",
                                                                        "",
                                                                        "'.date("Y-m-d").'",
                                                                        "'.$remTbl.'")';
                        echo $txtRequete1005.'<br />';
                        $requete1005=mysql_query($txtRequete1005);
                    }
                    $i++;
                }
                $j++;  
            }
        }