Как мы можем получить опцию автозаполнения при вводе данных пользователем из базы данных с использованием базы данных sqlite и php? - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь получить опцию автозаполнения для формы ввода в phpdesktop-chrome, которая берет данные из базы данных и представляет около области ввода при вводе пользователем.Я использую базу данных sqlite3.

HTML

<form action="actionpage.php" method="POST" class="register-form" id="register-form" autocomplete="on" >
    <label for="itemname"> Item Name</label>
    <input type="text" name="itemname" id="itemname" required placeholder="Enter item name">
    <input action="insertpage.php" type="submit" name="submit" value="Submit">
</form>

JS

<script>
    var items = [ <?php
        $result=$db->query("SELECT * FROM register WHERE itemname='$itemname'");
        while($row=$result->fetchArray(SQLITE3_ASSOC)) { 
            $item=$row['itemname'];
        } ?>
     ];
    autocomplete(document.getElementById("itemname"), items);
 </script>

1 Ответ

0 голосов
/ 13 декабря 2018

Используйте мой код, он будет работать
следуйте этим 2 шагам, чтобы получить решение
1. сначала используйте функцию php
2. затем используйте JavaScript

PHP функция

<code>function pre_json($array,$view=false){
 if($view) echo '<pre>';
  echo json_encode($array, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT );
 if($view) echo '
';} функция DBExecute ($ sql, $ type) {global $ db;if ($ sql! = '' && $ type! = '') {switch (strtolower ($ type)) {case 'select': $ result = $ db-> query ($ sql);if ($ result) {$ resultSet = array ();while ($ row = $ result-> fetch (PDO :: FETCH_ASSOC)) {$ resultSet [] = $ row;} return $ resultSet;} else {echo 'Ошибка в запросе выбора
'. $ sql. '
';$ error = $ db-> errorInfo ();echo ''. $ error [2]. '';выход();} перерыв;по умолчанию: вернуть false;}}}?>


Script

<script> 
        <?php  
$sql = "SELECT * FROM `register` WHERE itemname='$itemname'";
$result = DBExecute($sql,'select');

?>
var json = <?=pre_json($result);?>;
  $("#itemname").autocomplete({
    source:json,
    minLength:0,
    select:function(event,ui) {
      event.preventDefault();
      // console.log(ui.item);
      $("#itemname").val(ui.item.itemname);

    }
  }).focus(function(event) {
    $(this).autocomplete("search");
  });
</script>


, тогда он будет автоматически связыватьсяв поле ввода

<form action="actionpage.php" method="POST" class="register-form" id="register-form" autocomplete="on" > 
    <label for="itemname"> Item Name</label> 
    <input type="text" name="itemname" id="itemname" required placeholder="Enter item name"> 
    <input action="insertpage.php" type="submit" name="submit" value="Submit">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...