繁体   English   中英

从数据库中选择内爆值,然后在下拉框中选择它们

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM