Как обрабатывать большие данные в выпадающем списке с помощью окна поиска - PullRequest
0 голосов
/ 24 мая 2018

У меня есть один загрузчик с раскрывающимся текстовым полем на моей веб-странице.Я добавляю динамические данные в этот выпадающий список, но они большие и поступают из базы данных.Вот почему это занимает много времени, чтобы загрузить.Кто-нибудь знает решение этой проблемы?

<select data-live-search="true" name="paymentfacility" id="paymentfacility" data-live-search-style="startsWith" class="selectpicker">
    <?php 
    foreach($facilitiesall as $val)
    {?>
        <option value="<?php echo $val['Facility']['id']; ?>"> 
           <?php echo $val['Facility']['name']; ?>
        </option>
    <?php } ?>
</select>

1 Ответ

0 голосов
/ 24 мая 2018

Если вы не возражаете изменить , выберите поле в поле ввода текста , я использую этот скрипт: этобиблиотека автозаполнения, которая создает список чуть ниже поля ввода.Он вызывает php-файл, который ищет то, что я ищу, поэтому вы не загружаете все БД ..

https://github.com/jhonis/bootcomplete

JS

$('#inputText').bootcomplete({
   url: 'search.php',
   method: 'post',
   minLength: 2
});

PHP

$txt = $_POST['query'];

$helper = new PDO(CONNECTION_DNS, CONNECTION_USER, CONNECTION_PWD);
$helper->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// YOU MUST HAVE id AND label AS RETURN DATA
$stmt = $helper->prepare('SELECT P.Id as id, P.Code as label FROM TABLE_NAME WHERE Code LIKE :Query');
$stmt->bindValue(':Query', '%'.$txt.'%', PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

print json_encode($results);
...