#php #jquery
#php #jquery
Вопрос:
У меня есть небольшой вопрос: я создал динамическую панель поиска, до сих пор все в порядке. Но проблема у меня в том, что, когда я набираю начало буквы или цифры, у меня нет ограничения на отображение, оно занимает всю страницу, у кого-то уже есть решение?
Большое спасибо
Вот код jQuery:
$(document).ready(function () { $('#search-stock').keyup(function (){ $('#result-search').html(''); var stock = $(this).val(); if (stock != "") { $.ajax({ type: 'GET', url: '../ajax/stock_search.php', data: 'stocks=' encodeURIComponent(stock), success: function (data) { if (data != "") { $('#result-search').append(data); } else { document.getElementById('result-search').innerHTML = "" "lt;div style='font-size: 20px; text-align: center; margin-top: 10px'gt; Aucun élement trouverlt;/divgt;" } } }); } }); });
Вот php
lt;?php session_start(); include('../include/bdd.php'); if(isset($_GET['stocks'])){ $stock_aema = (string) trim($_GET['stocks']); $req = $bdd-gt;prepare("SELECT * FROM stock_aema WHERE model LIKE :model LIMIT 10"); $req2 = $bdd-gt;prepare("SELECT * FROM stock_aema WHERE id LIKE :id LIMIT 10"); $req3 = $bdd-gt;prepare("SELECT * FROM stock_aema WHERE aema LIKE :aema LIMIT 10"); $req-gt;execute(array('model' =gt; "%$stock_aema%")); $req = $req-gt;fetchAll(); foreach ($req as $r){ ?gt; lt;div style="margin-top: 20px ; border-bottom: 2px solid #ccc"gt; lt;?= $r['id'] . " " . $r['model']. " " . $r['aema']?gt; lt;/divgt; lt;?php } $req2-gt;execute(array('id' =gt; "%$stock_aema%")); $req2 = $req2-gt;fetchAll(); foreach ($req2 as $s){ ?gt; lt;div style="margin-top: 20px ; border-bottom: 2px solid #ccc"gt; lt;?= $s['id'] . " " . $s['model']. " " . $s['aema']?gt; lt;/divgt; lt;?php } $req3-gt;execute(array('aema' =gt; strval("%$stock_aema%"))); $req3 = $req3-gt;fetchAll(); foreach ($req3 as $x){ ?gt; lt;div style="margin-top: 20px ; border-bottom: 2px solid #ccc"gt; lt;?= $x['id'] . " " . $x['model']. " " . $x['aema']?gt; lt;/divgt; lt;?php } } ?gt;
Комментарии:
1. Возможно, было бы хорошей практикой не запускать поисковый запрос до тех пор, пока в нем не будет по крайней мере 3 символа…? Кроме того, рассмотрите возможность использования разбиения на страницы
2. Кроме того, небольшая вещь, подумайте о том, чтобы ваш код соответствовал структуре, которую вы выбрали для использования
document.getElementById('result-search').innerHTML
=gt;$("#result-search").html(
3. И почему у вас есть 3 разных запроса? Просто сделай это единым целым с
OR