Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-04-2008 11:05:30

Tonio13006
Membre
Date d'inscription: 09-04-2008
Messages: 34

[resolu]Zend_Db_Table / tableau associatif

salut!

j'aimerais utiliser

Code:

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

Code:

class Console extends Zend_Db_Table
{
    protected $_name = 'tb_console';
}

dans mon controller je fais

Code:

$this->view->console = $console->fetchAll();

donc ma vue reçoit ce tableau

Code:

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

 

#2 17-04-2008 15:51:57

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [resolu]Zend_Db_Table / tableau associatif

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

 

#3 17-04-2008 16:33:37

Tonio13006
Membre
Date d'inscription: 09-04-2008
Messages: 34

Re: [resolu]Zend_Db_Table / tableau associatif

il me renvoi ca ...

Code:

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

 

#4 17-04-2008 16:38:02

Tonio13006
Membre
Date d'inscription: 09-04-2008
Messages: 34

Re: [resolu]Zend_Db_Table / tableau associatif

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

 

#5 17-04-2008 18:29:07

Tonio13006
Membre
Date d'inscription: 09-04-2008
Messages: 34

Re: [resolu]Zend_Db_Table / tableau associatif

bon maintenant avec fetchall()->toarray() je récupère que les infos qui m'intéresses

Code:

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...

Code:

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

 

#6 18-04-2008 13:02:31

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [resolu]Zend_Db_Table / tableau associatif

Code:

$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

 

#7 22-04-2008 12:57:28

Tonio13006
Membre
Date d'inscription: 09-04-2008
Messages: 34

Re: [resolu]Zend_Db_Table / tableau associatif

merci!

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages