- 1
[Opened] DAO dynamique et checkboxes
Posted by bdecaslou on 05/10/2013 11:54
Bonjour à tous,
Voilà j'utilise dans un de mes formulaires une checkboxes que j'initialise avec ma dao:
<checkboxes ref="idSpecies"> <label>Select the species</label> <datasource dao="ProjetWeb~species" method="findAll" labelproperty="nameSpecies"/> </checkboxes>
Seulement je ne sais pas comment récupérer toute les valeurs cochés dans mon controller et je ne trouve pas d'information là-dessus. Je sais que la valeur retourné est un arry mais je ne sais pas comment récupérer toute ces valeurs.
Si j'utilise la méthode suivante; ça ne me renvoie que le premier coché
$speciesobserved-> idExperiment= $this->param('idSpecies')
Comment faire pour récupérer le tableau? La solution ne doit pas êtr etrop compliqué mais je perds beaucoup de temps dessus.
Merci d'avance
[Opened] DAO dynamique et checkboxes
Posted by foxmask on 05/10/2013 12:01
[selon la donc|http://docs.jelix.org/fr/manuel-1.5/jforms/xml-1.1#liste-de-cases-a-cocher] ça retourne quoiqu'il arrive un array.faites un jlog::dump de $form->getData('idsepecies') dans la méthode de votre contrôleur qui reçoit les données pour voir ce que ça retourne .
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] DAO dynamique et checkboxes
Posted by bdecaslou on 05/10/2013 12:25
Ca me renvoie ça lorsque je selectionne les deux premiers. Comment dois-je faire pour stocker ces valeurs dans un array? array ( 0 => '1', 1 => '2', )
[Opened] DAO dynamique et checkboxes
Posted by bdecaslou on 05/10/2013 12:34
$b=$form->getData('idSpecies'); for ($i = 0; $i <sizeof($array); $i++) { $speciesobserved-> idExperiment= $this->param('idExperiment'); $speciesobserved-> idSpecies= $array($i); $dao1 = jDao::get('ProjetWeb~speciesobserved'); $dao1->insert($speciesobserved); }
Mais ça me renvoie le code d'erreur suivant et je n'y comprends plus rien
Fatal error: Function name must be a string in C:\wamp\www\ProjetWeb\modules\ProjetWeb\controllers\default.classic.php on line 303Soit la ligne correspondant à <code> $speciesobserved-> idSpecies= $array($i); </code>
[Opened] DAO dynamique et checkboxes
Posted by foxmask on 05/10/2013 17:41
l'erreur est dûe à :
$speciesobserved-> idSpecies= $array($i);
car pour PHP vous essayez d'appeler une function via $array()
au lieu de cela vous voulez l'occurence de votre array ; ca devrait etre ça
$speciesobserved-> idSpecies= $array[$i];
Sinon on peut remplacer le sizeof($array) par count($array) ou encore utiliser un foreach
foreach ($array as $key => $value) { .... $speciesobserved-> idSpecies= $array[$key] }
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] DAO dynamique et checkboxes
Posted by bdecaslou on 05/10/2013 19:56
Effectivement ce n'est pas des parenthèses qu'il fallait mettre. Merci beaucoup!
- 1