Так что я использую ajax-вызов для запроса моей базы данных mysql для поиска списка пользователей.
здесь HTML;
<input type="text" id="partnerName" name="partnerName" class="form-control" placeholder="Type to search partners....">
<div id="partnerList" style="background-color:#beb6ac;"></div>
Вот моя функция.
$(document).ready(function() {
$('#busTradingName').keyup(function() {
var query = $(this).val();
if (query != '') {
$.ajax({
url: "search/empsearch.php",
method: "POST",
data: {
query: query
},
success: function(data) {
$('#empList').fadeIn();
$('#empList').html(data);
}
});
}
});
$(document).on('click', 'li', function() {
$('#busTradingName').val($(this).text());
$('#empList').fadeOut();
});
});
вот запрос:
if(isset($_POST["query"])){
$output = '';
$query = "SELECT busTradingName FROM organisation WHERE busTradingName LIKE '%".$_POST["query"]."%'";
$result = mysqli_query($connection, $query);
$output = '<ul class="list-unstyled">';
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$output .= '<li>'.$row["busTradingName"].'</li>';
}
}
else
{
$output .= '<li>Not Found</li>';
}
$output .= '</ul>';
echo $output;
}
Это прекрасно работает.Но если я хочу использовать ту же функцию, в той же форме, мои другие поля ввода также обновляются (даже если идентификатор другой, и запрос находится в другом php-файле. Например.
thisHTML;
<input type="text" name="busTradingName" id="busTradingName" placeholder="Last employer's trading name">
<div id="empList"></div>
Эта функция;
$(document).ready(function() {
$('#partnerName').keyup(function() {
var query = $(this).val();
if (query != '') {
$.ajax({
url: "search/search.php",
method: "POST",
data: {
query: query
},
success: function(data) {
$('#partnerList').fadeIn();
$('#partnerList').html(data);
}
});
}
});
$(document).on('click', 'li', function() {
$('#partnerName').val($(this).text());
$('#partnerList').fadeOut();
});
});
с этим запросом;
if(isset($_POST["query"])){
$output = '';
$query = "SELECT * FROM cards WHERE surname LIKE '%".$_POST["query"]."%'";
$result = mysqli_query($connection, $query);
$output = '<ul class="list-unstyled">';
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$output .= '<li>'.$row["surname"].'</li>';
}
}
else
{
$output .= '<li>Not Found</li>';
}
$output .= '</ul>';
echo $output;
}
Это обновляет оба поля ввода с одинаковыми данными. Любые идеи, почему мойзапрос не передается на один конкретный вход, а заполняется через мою форму?