Множество мест, на которые можно посмотреть с большим количеством идей, как это сделать, но я не преуспеваю ни с одним из них.Заполнение нескольких полей ввода из MySQL при вводе
У меня есть поле ввода, называемое «позывной», когда вы вводите его, оно выходит на таблицу MySQL и возвращает предложения на основе того, что вы уже набрали. Я хочу, чтобы подсказки о том, какое значение должно появиться в поле ввода, чтобы я мог выбрать один из них или просто набирать текст. Когда я выбираю тот, который мне нужен, я также хочу, чтобы поле Fname заполнилось, оно также возвращается из MySQL, см. XML ниже.
Я действительно хочу узнать, как это сделать, но длинное объяснение с использованием терминов, которые я только понимаю, не будет идти почти до примера. Помогите!
вход выглядит следующим образом:
Call Sign: <input type='text' value='' placeholder='Search' id='cs1' style='text-transform:uppercase' autofocus onkeyup='showHint(this.value)'> Name: <Input type='text' name='Fname'style='text-transform:capitalize'>
для MySQL, как это:
<?php
require_once "dbConnectDtls.php";
$q = $_REQUEST["q"];
$stmt = $db_found->prepare("SELECT DISTINCT callsign, Fname
FROM NetLog
WHERE recordID IN (SELECT max(recordID)
FROM NetLog
WHERE callsign LIKE ? GROUP BY callsign)");
$stmt->execute(array("$q%"));
$result = $stmt->fetchAll();
print_r($result);
?>
Результат выполнения тестовой MySQL выше с q = 'w'
возвращений:
Array ([0] => Array ([callsign] => W0DLK [0] => W0DLK [Fname] => Deb [1]
=> Deb) [1] => Array ([callsign] => W0GPS [0] => W0GPS [Fname] =>
John [1] => John) [2] => Array ([callsign] => WA0TJT [0] => WA0TJT
[Fname] => Keith [1] => Keith) [3] => Array ([callsign] => W0KCN [0]
=> W0KCN [Fname] => Net Control [1] => Net Control))
И моя функция:
function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();
}
}
К сожалению, ваш запрос не совпадает со стандартным автоматическим предложением. – Strawberry