目前正在处理用户管理页面,其中包含名称,用户名,电子邮件和级别字段。除了级别之外的所有字段都是从AD获得的。我设法将值保存到数据库中。但是,name字段同时包含用户名和电子邮件字段。下拉列表会显示名称,但会保存用户名和电子邮件。
<th align="right" scope="row">Select User</th>
<td><script type="text/javascript">
var $ = function(e){ return document.getElementById(e); }
var swap = function(val){
var arr = val.split("|");
document.getElementsByName('username')[0].value = arr[0];
document.getElementsByName('email')[0].value = arr[1];
}
</script>
<select name="name" id="name" class="reginput" onchange="swap(this.value)" />
<option value="">Select User</option>
<?php
// Create connection
$con=mysqli_connect("localhost","root","","dbname");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
//$result = mysqli_query($con, "SELECT name,Id FROM users");
$result = $this->Users_model->queryAD();
$options=$test;
//while ($row=mysqli_fetch_array($result)) {
for ($i=0; $i<$result["count"]; $i++) {
//$options .= '<option value="'.$row["name"].'">'.$row["name"].' '.'</option>';
$options .= '<option value="'.$result[$i]["samaccountname"] [0].'|'.$result[$i]["mail"][0].'">'.$result[$i]["displayname"][0].' '.'</option>';
}
$options .= '</select>';
echo $options;
例如:
选择用户:Jane Doe 用户名:简 电子邮件:janed@yahoo.com 级别:管理员
用户将显示为Jane | janed@yahoo.com而不是Jane Doe,但其他领域都很好。
答案 0 :(得分:0)
username
和email
代替Full name
,因为您提供的value
option
为$result[$i]["samaccountname"][0].'|'.$result[$i]["mail"][0]
将选项的值更改为
$options .= '<option value="'.$result[$i]["displayname"][0].'">'.$result[$i]["displayname"][0].' '.'</option>';
修改强>
要向用户显示用户名和电子邮件,并将Fullname保存到DB,请使用以下命令:
$options .= '<option value="'.$result[$i]["displayname"][0].'">"'.$result[$i]["samaccountname"] [0].'|'.$result[$i]["mail"][0].'"</option>';