var total_subjects = 6649;
var current_subject = 0;
let lastResponse = [];
fetch(`/course_search/course_db.php?from=${current_subject}&to=${current_subject + 10}`).then(result => {
return result.json();
})
.then(data => {
data.map(card => {
$(".cards").append(`<div class='card'>${card}</div>`);
lastResponse.push(`<div class='card'>${card}</div>`);
});
total_subjects -= 10;
current_subject += 10;
$("#more_subjects_btn").text(`Показать ещё 10 из ${total_subjects}`);
});
$("#search_course").keyup(() => {
clearTimeout(requestSearch);
requestFrom = 0;
if ($("#search_course").val() == "") {
$(".cards").empty();
lastResponse.map(card => {
$(".cards").append(card);
});
if (total_subjects > 0) {
$("#more_subjects_btn").css("display", "block");
$("#more_subjects_btn").text(`Показать ещё 10 из ${total_subjects}`);
}
return;
}
requestSearch = setTimeout(() => {
$.post("/course_search/search_db.php", {query: $("#search_course").val().toLowerCase(), from: requestFrom}, (response) => {
let data = eval("(" + response + ")");
$(".cards").empty();
data.subjects.map(card => {
$(".cards").append(`<div class='card'>${card}</div>`);
});
$("#more_subjects_btn").css("display", "block");
if (data.total == -1) {
if (data.left == -1) {
$("#more_subjects_btn").css("display", "none");
} else {
$("#more_subjects_btn").text(`Показать ещё ${data.left}`);
requestFrom += 10;
}
} else {
$("#more_subjects_btn").text(`Показать ещё ${data.left} из ${data.total}`);
requestFrom += data.left;
}
});
}, 500);
});
там ещё много кода, но всё что касается поиска вроде написал