Я использую список данных для хранения всех имен и фамилий, которые я получаю из таблица базы данных MySQL.
Когда кто-то вводит имя и репетитора и нажимает "показать репетитора", вызывается showTutor().
<input list="tutorData" name="tutors" id="tutorToShow">
<datalist id="tutorData">
<?php
$sql = "SELECT name, surname FROM tutors ORDER BY surname ASC";
if (!$res = $link->query($sql)) {
trigger_error('error in query ' . $link->error);
} else {
while ($row = $res->fetch_assoc()) {
$name = $row['surname'];
$sName = $row['name'];
?>
<option value="<?php echo "$sName $name" ?>" >
<?php
}
}
?>
</datalist>
<input type="button" value="Weergeven" onclick="showTutor();">
Мой даталист заполнен и работает отлично. Сейчас: при вызове showTutor, то есть при нажатии кнопки:
function showTutor(){
var tut = document.getElementById("tutorToShow").value;
}
Это дает мне что-то вроде Джона Смита или Мэри Джейн Доу.
В чем проблема, когда я перезагружаю показанный div репетитора с помощью ajax, мне нужно получить идентификатор этого репетитора из базы данных.
Итак, что мне обязательно понадобится, так это этот SQL:
SELECT ID
FROM tutors
WHERE name LIKE '$name%'
AND surname LIKE '$surname%'
Теперь мне просто нужно отделить имя.
Другими словами, как мне получить идентификатор из таблицы с идентификатором столбцов, именем, фамилией, не зная разделения между именем и фамилией?
Джон Смит: легко, первое слово имя, второе слово фамилия
Мэри Джейн Тесто: что теперь?
Я думал добавить запятую, которая разделяет оба имени, но это не очень стильно.
Другой вариант — добавить в мою базу данных столбец с обоими именами в одной записи, но это хлопотно, когда нужно добавить новых наставников.