[英]Select imploded values from a database and select them in a dropdown box
我有下面的代码来使用数据库中的值生成一个多重选择框。 该页面是用于修改先前输入的信息的表格。 在生成该框之前,将获取“ $ Interviewers0”的值。 如果“ $ Interviewers0”的值为“ John Doe”,则可以选择该名称。 但是,如果我的值为“ John Doe,Jane Doe”,则不会选择任何名称。 我知道这是由于内在价值造成的,但我一直无法弄清楚。 提前致谢!
{
$box1 = array();
$result = "SELECT FullName FROM UserInformation";
$rs=odbc_exec($conn,$result);
while($row = odbc_fetch_array($rs)) { $box1[] = $row; }
}
$Interviewers = '<select name="Interviewers[]" multiple="multiple" size="5">';
$Interviewers .= '<option>---< Select Interviewers >---</option>';
if (!empty($box1)) {foreach ($box1 as $k => $v)
{if(!empty($Interviewers0)){$Interviewers .= '<option value="'.$v['FullName'].'"'. (!strcmp($v['FullName'],$Interviewers0)?' selected':'').'>'.$v['FullName'].'</option>';}
else
{$Interviewers .= '<option value="'.$v['FullName'].'">'.$v['FullName'].'</option>';}
}
}
$Interviewers .= '</select>';
echo $Interviewers;
您正在寻找的东西可以通过strpos
来完成:
因此,使用:
(strpos($v['FullName'], $Interviewers0) !== false) ? ' selected' : ''
代替:
!strcmp($v['FullName'],$Interviewers0)?' selected':''
使用(strpos($v['FullName'], $Interviewers0) !== false) ? ' selected' : ''
(strpos($v['FullName'], $Interviewers0) !== false) ? ' selected' : ''
,如果在$v['FullName']
找到$Interviewers0
,则选择该option
。
我更换了
(!strcmp($v['FullName'],$Interviewers0)?' selected':'')
同
((stripos($Interviewers0, $v['FullName']) !== false) ?' selected':'')
做到了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.