Bonjour,
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 :
Constructeur Modèle
Peugeot 206
Citroën C4
Renault Megane
Le array à mettre en forme est le suivant :
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 :
identifiant du champ => Nom du champ
valeur du champ => Valeur
plutot qu'une simple ligne :
Nom du champ => Valeur
C'est là que ça devient tordu pour moi car je dois extraire la valeur en fonction d'une autre 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