0

こんにちは、私は zend form multicheckbox を使用しています。

ユーザーの 'id' 'name' 'surname' 'address' および 'city' のリストを含む $array があります。名前+姓+追加+都市を選択して、選択した名前と姓のIDをコントローラーに返すチェックボックスを作成する必要があります...

ここに私のフォームがあります:

class Application_Form_MultiplaSelezione extends Zend_Form
{
public function init()
{
    /* Form Elements & Other Definitions Here ... */
}

public function selezione($array){
    $this->setMethod('post');       
    $count=count($array);       
    $multipla=new Zend_Form_Element_MultiCheckbox('scelta');        
    for($i=0;i<$count;$i++){            
        foreach ($array[$i] as $chiave=>$valore){
            if($chiave=='idnomeutente'){
                $nomeutente=$valore;
            }
            if($chiave=='nome'){
                $nome=$valore;
            }
            if($chiave=='cognome'){
                $cognome=$valore;
            }   
            if($chiave=='indirizzo'){
                $indirizzo=$valore;
            }   
            if($chiave=='residenza'){
                $residenza=$valore;
            }   

        }
        $val=$nome.' '.$cognome.' '.$indirizzo.' '.$residenza;
        $multipla->addMultiOption($nomeutente, $val);


        if($i==0){
            $iduser=$nomeutente;
        }
    }   

    $multipla->setValue($iduser);

    $submit= new Zend_Form_Element_Submit('submit');
    $submit->setLabel('Seleziona');

    $this->addElements(array($multipla,$submit));           
}
    }

なぜ機能しないのですか?

4

1 に答える 1

0

これを読んで理解してみてください:

<?php

class Application_Form_MultiplaSelezione extends Zend_Form
{
public function init()
{
    $this->setMethod('post'); 

    $multipla=new Zend_Form_Element_MultiCheckbox('scelta');
    $multipla->setMultiOptions($this->getOptionsToMultipla());

    /* some other fields */

    $this->addElements(array(
        $multipla,
        /* others fields */
        ));
}

public function getOptionsToMultipla()
{
    /* there you can use static or dinamic method which: 
        1. select data from table
        2. in foreach remake rows to your form, and add it to array ($array[] = "your string";)
        3. return $array;
        TIP: you should make other array where you have id of the rows, with it you can decode the request (compare index given from form)
        (if you have problem with it I can help you in other thread :)*/

    /* for example of static method */
    return Your_Model::getOptionsToMultipla();
}

このコードには、モデルとコントローラーにいくつかの変更を加える必要があります。幸運を :)

于 2012-04-20T21:09:50.633 に答える