2016-02-12 5 views
0

Я реализовал функцию автозаполнения jQuery для своего веб-сайта, которая работает нормально. Но я хочу, чтобы результат автозаполнения получал только данные конкретного человека, а не полный результат базы данных.jQuery autocomplete извлекать данные из базы данных

Ниже JQuery для автозаполнения

jQuery(document).ready(function($){ 
$('.product_desc').autocomplete({source:'functions/products.php?', minLength:2}); 

products.php

//Path for the databsae 
<?php 
include '../include/configuration.php'; 

if (!isset($_REQUEST['term'])) 
    exit; 

$rs = mysql_query('select id,item_name,fk_vendor_id from item where item_name like "%'. mysql_real_escape_string($_REQUEST['term']).'%" order by item_name asc ', $con); 

$data = array(); 

if ($rs && mysql_num_rows($rs)) 
{ 
    while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) 
    { 
     $data[] = array(
      'label' => $row['item_name'], 
      'value' => $row['item_name'] 
     ); 
    } 
} 
else 
{ 
    $data[] = array(
     'label' => 'not found', 
     'value' =>'' 
    ); 
} 

// jQuery wants JSON data 
echo json_encode($data); 
flush(); 
?> 

Любое решение будет оценено.

+0

Если вы хотите сделать одну запись, установите LIMIT 1 в свой запрос или передайте идентификатор пользователя в запросе. –

+0

Привет, Рави, я пробовал передавать идентификатор пользователя, но он не работал. –

+0

Можете ли вы опубликовать этот запрос? –

ответ

0

Попробуйте это:

$(".product_desc").autocomplete({ 
source: "functions/products.php", 
minLength: 2, 
select: function(event,ui){ 
    //do something 
    } 
}); 
0

Попробуйте этот код, любое текстовое поле, имеющий класс .search автоматическое заполнение предложение будет работает на стороне сервера в ajax.php файла вам необходимо вернуть массив, как показано ниже:

$response = ['Computer', 'Mouse', 'Keyboard', 'Monitor']; 
echo json_encode($response); 

Вот пример кода для автоматического предложения.

$(document).on('keyups','.search',function() { 
     $(this).autocomplete({ 
      source: function(request, response) { 
       if (request.term != "") { 
        $.ajax({ 
         url: "ajax.php", 
         dataType: "json", 
         method: "post", 
         data: { 
          name: request.term 
         }, 
         success: function (data) { 
          if (data != "") { 
           response($.map(data, function (item) { 
            var name = item.name; 
            return { 
             label: name, 
             value: name, 
             data: item 
            } 
           })); 
          } 
         } 
        }); 
       } 
      }, 
      autoFocus: true, 
      minLength: 2, 
      select: function(event, ui) { 
       var name = ui.item.data; 
       $(this).val(name); 
      } 
     }); 
    }); 
Смежные вопросы