Php CI下拉选择
任何人都知道为什么用下面的代码我会收到这个错误消息。我试图让它显示我数组中的数据,因为每个选项都有一个用户id值,选项的文本将是它们的名称。到目前为止,它只显示最后一个人 遇到一个PHP错误 严重性:警告 消息:isset中的偏移量类型非法或为空 文件名:helpers/form_helper.php 电话号码:319Php CI下拉选择,php,codeigniter,Php,Codeigniter,任何人都知道为什么用下面的代码我会收到这个错误消息。我试图让它显示我数组中的数据,因为每个选项都有一个用户id值,选项的文本将是它们的名称。到目前为止,它只显示最后一个人 遇到一个PHP错误 严重性:警告 消息:isset中的偏移量类型非法或为空 文件名:helpers/form_helper.php 电话号码:319 乌德帕特: <?php echo form_label('Recipient', 'recipient'); ?> <?php $data = arr
乌德帕特:
<?php echo form_label('Recipient', 'recipient'); ?>
<?php
$data = array(
'name' => 'to',
'class' => 'required'
);
$options = array();
foreach($users AS $user)
{
$options[] = array (
$user->user_id => $user->first_name.' '.$user->last_name
);
$options[] = $user;
}
?>
<?php echo form_dropdown($data, $options); ?>
还有其他想法吗?来自文档:
第一个参数将包含字段的名称,第二个参数将包含选项的关联数组,第三个参数将包含希望选择的值
您正在传递一个关联数组,它需要一个字符串。来自文档:
第一个参数将包含字段的名称,第二个参数将包含选项的关联数组,第三个参数将包含希望选择的值
您正在传递一个关联数组,它需要一个字符串。删除行
$options[]=$user代码>来自您的foreach
form_下拉列表
需要一个以值为键、以文本为值的数组
编辑:$options
需要是1D数组(不是2D数组)
编辑2:
$options = array(-1 => 'Select an option'); // Start with a "default option"
foreach($users AS $user)
{
$options[$user->user_id] = $user->first_name.' '.$user->last_name;
}
form_dropdown('to', $options, -1, 'class="required"'); // Make the default "selected"
删除行$options[]=$user代码>来自您的foreach
form_下拉列表
需要一个以值为键、以文本为值的数组
编辑:$options
需要是1D数组(不是2D数组)
编辑2:
$options = array(-1 => 'Select an option'); // Start with a "default option"
foreach($users AS $user)
{
$options[$user->user_id] = $user->first_name.' '.$user->last_name;
}
form_dropdown('to', $options, -1, 'class="required"'); // Make the default "selected"
注意:您显示的$options
数组每次通过循环都会重新实例化。这意味着当您尝试调用窗体下拉列表时,它将只包含$user
中最后一个$user
。@rjz那么我该如何解决这个问题。第319行的代码在哪里?@user1244239在黑暗中拍摄,但是窗体下拉列表()
可能需要一个选项数组。因此,您希望附加到$options
,而不是替换它。尝试将$options[]=array(…')
声明$options=array()
在您的foreach
外部,并使用$options[]将每个$user
附加到循环内部=$user
。注意:您显示的$options
数组每次都会通过循环重新实例化。这意味着当您尝试调用表单下拉列表时,它将只包含$users
中最后一个$user
。@rjz那么如何解决这个问题。第319行的代码在哪里?@user1244239 Shot in黑暗但form_dropdown()
可能需要一个选项数组。因此您希望附加到$options
,而不是替换它。尝试$options[]=array(…'
在foreach
外部声明$options=array()
并使用$options[]将每个$user
附加到循环内部=$user
。唯一的问题是。注意,它在不是用户id的名称旁边显示了0和1,但当我发布表单时,它显示了正确的用户_id@user1244239:嗯?有什么问题吗?你说的0和1在哪里?单击“撰写新邮件”中的下拉列表,注意它如何为每个用户显示0和1不过,还有最后一个问题。我是否可以将类作为第三个参数应用于表单下拉列表,以便使其成为必需的参数。@user1244239:这将是第四个参数。form_下拉列表('to',$options','class=“required”'))
唯一的问题是。注意,它在不是用户id的名称旁边显示了0和1,但当我发布表单时,它显示了正确的用户_id@user1244239:嗯?有什么问题吗?你说的0和1在哪里?单击“撰写新邮件”中的下拉列表,注意它如何为每个用户显示0和1最后一个问题。我是否可以将一个类作为第三个参数应用于表单下拉列表,以便使其成为必需的参数。@user1244239:这将是第四个参数。form_下拉列表('to',$options','class=“required”;
$options = array(-1 => 'Select an option'); // Start with a "default option"
foreach($users AS $user)
{
$options[$user->user_id] = $user->first_name.' '.$user->last_name;
}
form_dropdown('to', $options, -1, 'class="required"'); // Make the default "selected"