我目前正在尝试以下代码:通行证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) –