Ce matin, un membre du forum m'a aidé à concevoir un tableau dans lequel je stocke le nom d'un champ (récupéré en méthode POST) ainsi que sa valeur. Ce qui me donne quelque chose comme :
$query mysql_query("SELECT * FROM tbl_fte WHERE level 4 AND sa = 2 AND year = 2006");
while ($retrieval = mysql_fetch_array($query)) {
$ta = $retrieval_level_4['ta'];
$index = 'x4x'. $retrieval['sa'] .'x'. $retrieval['ta'] .'x'. $retrieval['bl'] .'x'. $retrieval['ia'] .'x'. $retrieval['dp'] .'xjan';
$value_index = $_POST[$index);
$array_value[$index] = $value_index;
}
Maintenant, j'aimerais que mon index soit '$ta' et que le tableau additionne automatiquement les valeurs correspondant à ce '$ta'.
Ce qui donnerait quelque chose du genre :
Le $index contient une valeur provenant d'un formulaire.
Tous les champs qui dont $ta = 1 s'additionnent entre eux
Tous les champs qui dont $ta = 2 s'additionnent entre eux
Tous les champs qui dont $ta = 3 s'additionnent entre eux
Etc
C'est pourquoi je souhaites stocker comme index le $ta et comme valeur, la somme des champs qui lui correspondent.
Le $index est en fait le nom.
Je récupère sa valeur dans le $value_index.
Donc au départ, j'avais ça :
Array
[x4x2x1
x1x39x0xjan] => 10,5
[x4x2x1
x1x40x0xjan] => 110
[x4x2x2
x1x41x0xjan] => 0
[x4x2x3
x1x42x0xjan] => 15.25
etc...
)
Seulement, il me faut la somme des champs appartenant à un même $ta (ceux qui sont en gras). Ce qui donenrait :
Array
[1] => 120,5
[2] => 0
[3] => 15,25
)
Mon $ta est un entier qui est une clé étrangère.
Il correspond au nom du 'ta' dans une autre table que je gère dans un module d'administration.
Pour le moment, il peut être soit 1, soit 2, soit 3 mais le hic, c'est que l'administrateur pourra en ajouter ou pire, les supprimer
J'ai une idée de solution barbare. S'il le faut, on l'appliquera.
Je voudrais faire quelque chose du genre :
Je récupère ça :
[x4x2x1
x1x39x0xjan] => 10,5
[x4x2x1
x1x40x0xjan] => 110
[x4x2x2
x1x41x0xjan] => 0
[x4x2x3
x1x42x0xjan] => 15.25
Une sorte de substr, de récupérer le 3ème chiffre et de lui dire qu'il s'agit du ta.