Динамическая панель поиска в jQuery с проблемами отображения результатов

#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