2011-02-06 5 views
0

input.phtmlにドロップダウンボックスを作成したいと思います。input.phtmlにドロップダウンボックスを作成したいと思います。 (zend_formは使用しないでください)

ドロップダウンボックスを作成します。データベースからデータを選択します。 と関数はfetchAll()(joinLeft、順序)

ケース1によって選択データを取得し使用します。Zend_Formのを使用しないでください

ケース2(私はテーブルのレイアウトページのinput.phtml使用しているため):使用Zend_Formのを

私は2つのケースと例 に答えたいと思っています。回答のため

感謝

答えて

0

ケース1:あなたのビューで

echo $this->formSelect('name', 'Option 1', array(), 
    array('Option 1', 'Option 2')); 

第一引数:選択し、第2引数の名前:値;第三引数:attributs、第四引数:オプション

ケース2:お使いのコントローラで

class MyForm extends Zend_Form 
{ 
    function init() 
    { 
     $this->addElement('select', 'my_select', 
      array('label' => 'My select', 
      'multioptions' => array('Option 1', 'Option 2'), value => 'Option 1')); 
    } 
} 

:あなたのビューで

$this->view->form = new MyForm(); 

// Render the form opening tag 
echo $this->form->renderForm(false); 
echo '<table>'; 
echo '<tr>'; 
echo '<th>' 
// Render only the label 
echo $this->form->my_select->renderLabel(); 
echo '</th> 
echo '<td>'; 
// Render only the select 
echo $this->form->my_select->renderViewHelper(); 
echo '</td>'; 
echo '</tr>'; 
echo '</table>'; 
echo '</form>'; 

あなたが見ることができるように、 Zend_Formは非常に柔軟です。したがってUSE ITです。

Zend_Db :: fetchPairsを使用して、データベースからオプションを取得できます。私はヴァル(第2引数)の値を回復したい

+0

Ohhhhhhhありがとうございました。非常に良い答えケース2.私はこの場合したい。それは私のZend Formの問題です。ははは。私がrenderViewHelper($ this-> form-> my_select-> renderViewHelper();)を使用していただきありがとうございます。 – tomdythai

+0

ありがとうございます。 MyFormでvalidateを使用できますか?例を示してください。 – tomdythai

+0

はい、レンダリング*メソッドはhtmlを出力するためのものです。検証は、あなたのコントローラで$ form-> isValidを呼び出すときに処理されます。 – Maxence

1

さて、あなたにこの

を行うあなたが直接使うdbテーブルモデルをあなたのコントローラ

$model = new Model_Somemodel(); 
$modelvalues = $model->fetchAll(); 

if(count($modelvalues) > 0) 
    $this->view->modelvalues = $modelvalues 

UPDATE

を呼び出すことができますPHTMLファイルを表示

とあなたのビューファイルに

<select> 
<?php if($this->modelvalues): ?> 
    <?php foreach($this->modelvalues as $value) 
     echo "<option>".$value->somefiled."</option>"; 
    ?>  
<?php endif; ?> 
</select> 
+0

ありがとうございました。しかし、私はコントローラの側(コントローラ。php)を参照してサイドビュー(.phtml)に値を送る – tomdythai

+0

@tomdythaiよく見る更新 –

+0

@tomdythaiはあなたに役立ちます –

0

最初のケース - あなたのビューでformSelectヘルパーを使用することができます。
2番目のケース - Zend_FormZend_Form_Element_Selectを使用してください。

+0

ありがとうございました。ケース1でexampleSelectをコード化したいと思います。 – tomdythai

+1

http://tinyurl.com/4hagrjb – singles

0

formSelect('name', '**Option 1**', array(), 
    array('Option 1', 'Option 2')); 

第一引数:選択し、第2引数の名前:値; 3番目の引数:attributs、4番目の引数:オプション

in input.phtml。

+0

もう1つの質問ですか、それとも質問に何らかの回答がありますか?それは私には分かりません。 –