我目前正在嘗試以下代碼:通行證SQL陣列通過Zend_Form_Element_Select
$sql = $db->query("select id,username,fullname from userss ORDER BY fullname ASC");
while($row = $sql->fetch()) {
$username[] = $row['username'];
}
$form = new Zend_Form();
$form->setAction('/index/change')
->setMethod('post');
$element = new Zend_Form_Element_Select('foo', array(
'multiOptions' => array(
$username,
)));
$form->addElement($element);
echo $form;
期望的結果是示出了元件的<option value='username'>Full Name</option>
形式<select>
其中username是從SQL username
和全名是從SQL fullname
。
眼下,它顯示<option value='0'>Full Name</option>
我不太清楚如何指定數組的第一個部分,所以它基本上將用戶名=>全名
有什麼建議?謝謝!
感謝您的迴應!我給了這個鏡頭,但是在第一個代碼中你的意思有點困惑。變量$ fullname和$ username2和$ fullname2來自哪裏?我所擁有的唯一變量是在while循環中定義的$ username。 –
這只是一個例子,如果您有多個項目(爲選擇框設置鍵=>值對),該數組可能看起來像什麼樣子。你可以用你發佈的那個循環替換你的循環,並保持'multiOptions'=> array($ username)'原樣;或者使用初學者的答案,因爲如果你不需要任何用戶id,fetchPairs也是一個很好的解決方案。 – drew010
啊,謝謝。這個問題實際上是我在這篇文章中簡化了我的查詢(fullname不是一個實際的列......我需要連接兩個表......因此$ username變量仍然變爲0) –