我将通过显示我的代码来解释:
if($_POST)
{
for ($records = 1; $records <= $_POST['numberofrecords']; $records++)
{
if((!in_array($_POST['user'][$records], $assigned_users, true))||($_POST['user'][$records]==''))
{
$phonePost['user'] = $_POST['user'][$records];
$phonePost['id'] = $_POST['id'][$records];
$this->autoprov_model->update_phone_user($phonePost);
}
else
{
//other actions.....
}
ETC....
$assigned_users 是一个列出当前选择的所有 ID 的查询。
相关的html是
<select name=user[<?=$lines;?>] style="position: relative; right: 120px;" onchange="submitform(this)">
<?php if($phone['user_id']=='')echo '<option value="">Unassigned</option>'?>
<?php foreach ($users_list as $user):?>
<?php if($user['id']==$phone['user'])$selected = 'selected="selected"'; else $selected = '';?>
<option value="<?=$user['id'];?>" <?=$selected?>><?=$user['name'];?></option>
<?php endforeach;?>
</select>
发生的事情是我发布了各种 ID(与 $assigned_user 数组相关),但实际上并未在数组中。而且当我发布''(空白)时,它们永远不会更新,只会到达第二部分。
我在这里问我是否错过了将值发布为数组的技巧?