Привет, ребята, у меня есть это окно поиска, которое возвращает имя и имя пользователя из базы данных mysql на основе выбранного входного поиска, я получил одну ошибку в php-файле «Неопределенный индекс: термин», но дело в том, что я не знаю, что перепутано »в коде php или javascript, вот мой код:
HTML:
<div class="ss-30255 ss-main" style="">
<div class="ss-multi-selected">
<select id="ajax" class="ss-values"><span class="ss-disabled">Search "Dennis"</span></select>
<div class="ss-add">
<span class="ss-plus"></span>
</div>
</div>
<div class="ss-content">
<div class="ss-search">
<input type="search" name="search" placeholder="Search" tabindex="0" aria-label="Search">
</div>
<div class="ss-list">
<div class="ss-option ss-disabled">No Results</div>
</div>
</div>
</div>
Javascript:
new SlimSelect({
select: '#ajax',
searchingText: 'Searching...', // Optional - Will show during ajax request
ajax: function (search, callback) {
// Check search value. If you dont like it callback(false) or callback('Message String')
if (search.length < 3) {
callback('Need 3 characters')
return
}
// Perform your own ajax request here
fetch('pagini/momente/dansatori/cauta-dansatori.php')
.then(function (response) {
return response.json()
})
.then(function (json) {
let data = []
for (let i = 0; i < json.length; i++) {
data.push({text: json[i].term})
}
// Upon successful fetch send data to callback function.
// Be sure to send data back in the proper format.
// Refer to the method setData for examples of proper format.
callback(data)
})
.catch(function(error) {
// If any erros happened send false back through the callback
callback(false)
})
}
})
PHP:
// Escape user inputs for security
$term = mysqli_real_escape_string($db, $_REQUEST['term']);
if(isset($term)){
// Attempt select query execution
$sql = "SELECT * FROM users WHERE name LIKE '%" . $term . "%' or lastname like '%" . $term . "%'";
if($result = mysqli_query($db, $sql)){
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
echo '<span class="ss-option">'.$row['name '].' '.$row['lastname '].'</span>';
}
// Close result set
mysqli_free_result($result);
} else{
echo "<p>no results</p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($db);
}
}