Je travaille sur le CMS wordpress avec le plugin Ninja Forms. Je cherche à extraire les valeurs soumises dans le cadre d'un formulaire pour les restituer dans un tableau. L'auteur du plugins met à disposition une fonction pour récupérer toutes les valeurs d'un formulaire. Seulement cela se présente sous la forme d'un array complexe et là je bloque un peu. J'imagine un algorithme conditionnel assez complexe sur le papier mais je suis persuadé qu'il y a beaucoup plus simple.
Dans mon exemple de test. J'ai créé un formulaire à deux entrées : constructeur et modèle. Je l'ai soumis 3 fois (Peugeot, 206 ; Citroën, C4 ; Renault, Megane)
Mon objectif est de restituer :
Le array à mettre en forme est le suivant :Constructeur Modèle
Peugeot 206
Citroën C4
Renault Megane
Array
(
[0] => Array
(
[id] => 6
[user_id] => 1
[form_id] => 3
[status] => 1
[action] => submit
[data] => Array
(
[0] => Array
(
[field_id] => 17
[user_value] => Renault
)
[1] => Array
(
[field_id] => 18
[user_value] => Megane
)
[2] => Array
(
[field_id] => 19
[user_value] =>
)
)
[date_updated] => 2014-04-28 09:59:55
)
[1] => Array
(
[id] => 5
[user_id] => 1
[form_id] => 3
[status] => 1
[action] => submit
[data] => Array
(
[0] => Array
(
[field_id] => 17
[user_value] => Citroën
)
[1] => Array
(
[field_id] => 18
[user_value] => C4
)
[2] => Array
(
[field_id] => 19
[user_value] =>
)
)
[date_updated] => 2014-04-28 09:59:10
)
[2] => Array
(
[id] => 4
[user_id] => 1
[form_id] => 3
[status] => 1
[action] => submit
[data] => Array
(
[0] => Array
(
[field_id] => 17
[user_value] => Peugeot
)
[1] => Array
(
[field_id] => 18
[user_value] => 206
)
[2] => Array
(
[field_id] => 19
[user_value] =>
)
)
[date_updated] => 2014-04-28 09:58:06
)
)
On retrouve un système de tableau : plutot qu'une simple ligne :identifiant du champ => Nom du champ
valeur du champ => Valeur
C'est là que ça devient tordu pour moi car je dois extraire la valeur en fonction d'une autre valeur...Nom du champ => Valeur
Je dois manquer d'imagination...
Si vous pouvez m'aider ou me donner une piste de solution. A défaut de temps, si vous pouviez simplement me dire comment vous vous y prendriez...
Je vous remercie.
Ben