Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2008, 02h08   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 13
Points : 5
Points : 5
Par défaut Récupération d'un tableau de cases à cocher

Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre:

J'ai un formulaire avec une liste de checkbox construit sous cette forme la:

Code :
1
2
3
4
5
 
<input type="checkbox" name="choix[]" value="1" id="rouge" />
<input type="checkbox" name="choix[]" value="2" id="jaune" />
<input type="checkbox" name="choix[]" value="3" id="vert" />
<input type="checkbox" name="choix[]" value="4" id="bleu" />
J'aimerais pouvoir récupérer le tableau "choix" .Pour ce faire, je récupére la valeur POST:
Code :
1
2
 
$choix = $filter->filter($this->_request->getPost('choix'));
Lorsque j'affiche le résultat dans ma vue, j'obtiens 'Array', J'essaye donc d'obtenir une valeur particulière du tableau:
Code :
1
2
3
4
 
$this->view->choix = $choix[0];  //Renvoit 'A'
$this->view->choix = $choix[1];  //Renvoit 'r'
// etc...
Comment faire pour pouvoir récupérer les bonnes valeur cochées?

Merci d'avance
DonPardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 09h34   #2
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
j'utilise pas zend mais essaie çà:
Code :
1
2
3
4
5
6
 
$choix = $filter->filter($this->_request->getPost('choix'));
foreach($choix as $choi){
 $this->view->choix[] = $choi;
}
// $this->view->choix est un tableau qui contient tes valeur cochés.
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 11h51   #3
Invité régulier
 
Inscription : décembre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 13
Points : 5
Points : 5
Merci pour ta réponse mais j'ai toujours le même problème : Array m'est retourné quoi qu'il arrive.

Est-ce bien 'getPost' qu'il faut utiliser même si il s'agit d'un tableau?

Merci.
DonPardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 13h13   #4
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
Code maximenet :
1
2
 
// $this->view->choix est un tableau qui contient tes valeur cochés.
normal que çà soit un tableau, à toi de faire une bloucle dessus est d'afficher les éléments.

ou alors tu peux remplacer le code que je t'ai donné par çà
Code :
1
2
3
4
5
 
$choix = $filter->filter($this->_request->getPost('choix'));
foreach($choix as $choi){
 $this->view->choix = ' - '.$choi.'<br />';
}
là si tu fait un echo de la variable choix tu verra s'affiché les valeurs cochés.
tout dépends comment tu veux y interprété.
Mais si tu utilise cette seconde solution tu n'est plus dans le cadre de la séparation du controleur et de la vue, donc c'est pas très propre.
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 13h51   #5
Invité régulier
 
Inscription : décembre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 13
Points : 5
Points : 5
Normalement, si je fait un
Il devrait me retourner la deuxième valeur contenue dans le tableau or il m'indique les lettres 'Array' donc:
$choix[0] = 'A'
Je ne comprend vraiment rien pourtant j'ai essayer plusieurs choses trouvés sur le net en vain.
En tous cas merci pour tes réponses.
DonPardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 16h06   #6
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
non mais tu reçois uniquement les indices des cases qui ont été cochés:
essaie de faire çà
Code :
1
2
3
4
 
echo '<pre>'
print_r($this->_request->getPost('choix'));
echo '</pre>';
Tu verra mieux ce que tu reçoit.
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 17h06   #7
Invité régulier
 
Inscription : décembre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 13
Points : 5
Points : 5
Bon, ben ça marche!

Je n'arrive pas a envoyer le tableau qui ne s'affiche pas correctement dans la vue mais dans le contrôleur ça fonctionne. De toute façon c'est mieux comme ça.

Merci encore pour tes conseils
A plus
DonPardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h27.


 
 
 
 
Partenaires

Hébergement Web