Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
salut!
j'aimerais utiliser
formMultiCheckbox($name, $value, $attribs, $options, $listsep) : crée une list de cases à cocher. $options devrait être un tableau associatif, avec une profondeur arbitraire. $value peut être une valeur unique ou un tableau de valeurs sélectionnées qui correspondent aux clés du tableau $options. $listsep est un séparateur HTML ("<br />") par défaut. Par défaut, cet élément est traité comme un tableau ; toutes les cases à cocher partagent le même nom, et sont soumises sous la forme d'un tableau.
pour ma vue, le probleme est que j'ai besoin d'un "$options devrait être un tableau associatif".
Mon model extends de Zend_Db_Table
class Console extends Zend_Db_Table { protected $_name = 'tb_console'; }
dans mon controller je fais
$this->view->console = $console->fetchAll();
donc ma vue reçoit ce tableau
echo $this->formMultiCheckbox('console',null,null,$this->console ,'');
mais ca ne marche pas apparemment fetchAll ne renvoi pas un tableau associatif
quelqu'un pour m'aider?
Dernière modification par Tonio13006 (22-04-2008 12:58:47)
Hors ligne
non fetchAll renvois un tableau contenant une ligne par enregistrement
chaque ligne est soit un tableau associatif soit un objet suivant le mode que tu à choisi
ce ne peut pas être un tableau associatif quel nom utiliserait-il comme clef pour chaque enregistrement ??
fais un print_r de ton tableau tu verras apparaitre sa structure.
A+JYT
Hors ligne
il me renvoi ca ...
Zend_Db_Table_Rowset Object ( [_data:protected] => Array ( [0] => Array ( [id_console] => 1 [nom] => PS2 ) [1] => Array ( [id_console] => 3 [nom] => XBOX ) ) [_table:protected] => Console Object ( [_name:protected] => tb_console [_db:protected] => Zend_Db_Adapter_Pdo_Mysql Object ( [_pdoType:protected] => mysql [_numericDataTypes:protected] => Array ( [0] => 0 [1] => 1 [2] => 2 [INT] => 0 [INTEGER] => 0 [MEDIUMINT] => 0 [SMALLINT] => 0 [TINYINT] => 0 [BIGINT] => 1 [SERIAL] => 1 [DEC] => 2 [DECIMAL] => 2 [DOUBLE] => 2 [DOUBLE PRECISION] => 2 [FIXED] => 2 [FLOAT] => 2 ) [_config:protected] => Array ( [host] => localhost [username] => root [password] => [dbname] => zftest [options] => Array ( [caseFolding] => 0 [autoQuoteIdentifiers] => 1 ) [driver_options] => Array ( ) ) [_fetchMode:protected] => 2 [_profiler:protected] => Zend_Db_Profiler Object ( [_queryProfiles:protected] => Array ( ) [_enabled:protected] => [_filterElapsedSecs:protected] => [_filterTypes:protected] => ) [_defaultProfilerClass:protected] => Zend_Db_Profiler [_connection:protected] => PDO Object ( ) [_caseFolding:protected] => 0 [_autoQuoteIdentifiers:protected] => 1 ) [_schema:protected] => [_cols:protected] => Array ( [0] => id_console [1] => nom ) [_primary:protected] => Array ( [1] => id_console ) [_identity:protected] => 1 [_sequence:protected] => 1 [_metadata:protected] => Array ( [id_console] => Array ( [SCHEMA_NAME] => [TABLE_NAME] => tb_console [COLUMN_NAME] => id_console [COLUMN_POSITION] => 1 [DATA_TYPE] => int [DEFAULT] => [NULLABLE] => [LENGTH] => [SCALE] => [PRECISION] => [UNSIGNED] => 1 [PRIMARY] => 1 [PRIMARY_POSITION] => 1 [IDENTITY] => 1 ) [nom] => Array ( [SCHEMA_NAME] => [TABLE_NAME] => tb_console [COLUMN_NAME] => nom [COLUMN_POSITION] => 2 [DATA_TYPE] => varchar [DEFAULT] => [NULLABLE] => 1 [LENGTH] => 20 [SCALE] => [PRECISION] => [UNSIGNED] => [PRIMARY] => [PRIMARY_POSITION] => [IDENTITY] => ) ) [_metadataCache:protected] => [_rowClass:protected] => Zend_Db_Table_Row [_rowsetClass:protected] => Zend_Db_Table_Rowset [_referenceMap:protected] => Array ( ) [_dependentTables:protected] => Array ( ) ) [_connected:protected] => 1 [_tableClass:protected] => Console [_rowClass:protected] => Zend_Db_Table_Row [_pointer:protected] => 0 [_count:protected] => 2 [_rows:protected] => Array ( ) [_stored:protected] => 1 [_readOnly:protected] => )
Hors ligne
en faite pour t'expliquer, j'ai des utilisateur qui peuvent posséder 1 ou plusieur console donc j'ai 3 table, user,user_console, et console
dans user les utilsateurs
dans user_console les id_user + id_console
et dans console les consoles :p
Hors ligne
bon maintenant avec fetchall()->toarray() je récupère que les infos qui m'intéresses
array(2) { [0]=> array(2) { ["id_console"]=> string(1) "1" ["nom"]=> string(3) "PS2" } [1]=> array(2) { ["id_console"]=> string(1) "3" ["nom"]=> string(4) "XBOX" } }
le probleme reste que pour la fonction formMultiCheckbox il faut que je recupere ca...
array(2) { [1]=> string(3) "PS2" [3]=> string(4) "XBOX" }
quelqu'un à une idée?
cette fonction est pas mal mais bon si il n'y a rien pour l'utiliser..., surtout que sur le net j'ai pas trouvé grand chose.. (3pages dans google)
Dernière modification par Tonio13006 (17-04-2008 18:31:24)
Hors ligne
$this->view->console = array(); foreach($console->fetchAll() as $item) { $this->view->console[$item['id']] = $item['nom']; }
C'était pourtant pas bien compliqué :-p
Hors ligne
merci!
Hors ligne