Есть скрипт для отображения подсказок при поиске на сайте.
Вопрос — устойчив ли такой код, как его оптимизировать и в каких случаях сервер может лечь?
JS
$('form input[name="q"]').on('keyup keydown', function(){
if ($(this).val().length > 1){
$.ajax({
response: 'text',
url: '/assets/actions/search-hint.php',
type: 'POST',
dataType: "html",
data: $('.form').serialize(),
success: function(response){
$('.products').html(response);
},
});
} else {
$('.products').html('');
}
});
PHP
if (mb_strlen($_POST['q']) > 1){
$query = $_POST['q'];
$products = R::find('products', 'name LIKE ? OR article LIKE ?', [
'%' . $query . '%',
'%' . $query . '%'
]);
$response = '';
foreach ($products as $product){
$response .= '<div class="product">';
$response .= '<div class="img"><img src="' . $product->img_1 . '" alt="' . $product->name . '"></div>';
$response .= '<h3>' . $product->name . ' ' . $product->article . '</h3>';
$response .= '</div>';
}
echo $response;
R::close();
}