JavaScript — сохранить только определенную часть из раскрывающегося списка, взятых из запроса AD

В настоящее время работает над страницей управления пользователями, где есть поля имени, имени пользователя, адреса электронной почты и уровня. Все поля, кроме уровня, получены из AD. Мне удалось сделать значения, сохраненные в базе данных. Тем не менее, поле имени принимает вместо имени пользователя и поля электронной почты. Раскрывающийся список отображает имя, но сохраняет имя пользователя и адрес электронной почты.

<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;

Например :

Выберите пользователя: Джейн Доу
Имя пользователя: Джейн
Электронная почта: janed@yahoo.com
Уровень: Admin

Пользователь будет отображаться как Джейн | janed@yahoo.com вместо Джейн Доу, но другие поля в порядке.

Это страница для вставки пользователей, с дисплеем все в порядке, но полное имя не будет правильно сохранено в БД

-2

Решение

Требуется 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>';

РЕДАКТИРОВАТЬ

Чтобы отобразить имя пользователя и адрес электронной почты, а также сохранить полное имя в БД, используйте это:

$options .= '<option value="'.$result[$i]["displayname"][0].'">"'.$result[$i]["samaccountname"]  [0].'|'.$result[$i]["mail"][0].'"</option>';
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector