Идея состоит в том, что пользователь может ввести фамилию ИЛИ соответствующий идентификатор, и каждое поле для предложения автозаполнения будет выглядеть как «Фамилия — ID» Увидеть эту картину, но когда пользователь выбирает какой-либо элемент из списка, будет выбрано только одно значение (фамилия).
Я успешно реализовал деталь с двумя предлагаемыми значениями, но когда я выбираю один элемент, выбираются и фамилия, и идентификатор. Что я могу изменить, чтобы выбрать только одно значение в текстовое поле (Фамилия), но оставить 2 предложенных значения? Вот фрагмент кода:
$select =mysqli_query($conn, "SELECT * FROM seamstress WHERE surname LIKE '%".$searchTerm."%' OR seamstress_id LIKE '%".$searchTerm."%'");
while ($row=mysqli_fetch_array($select)) {
$data[] = $row['surname']. ' '.$row['seamstress_id'];
}
echo json_encode($data);
Когда вы инициализируете ваш массив, как это $data[] = $row['surname']. ' '.$row['seamstress_id'];
Используя точку, вы объединяете 2 значения вместе в индекс 0 массива, вам нужно использовать запятую ‘,’ для разделения значений и помещать их в разные индексы, как это
$data[] = $row['surname'] , $row['seamstress_id'];
,
Если в выборке вы хотите, чтобы в одной строке отображались и фамилия, и идентификатор, но только значение фамилии, вы можете инициализировать свой массив следующим образом (в php)
$data = arry(
$row['surname'] => $row['surname']. ' '.$row['seamstress_id'],
$row['seamstress_id'] => $row['seamstress_id']
);
Вы можете найти больше примеров и информации Вот
Других решений пока нет …