Программа-O Chatbot Автозаполнение

Я развиваюсь на вершине Программа-чатбот и по большей части это работает отлично.

  1. Я пытаюсь сделать автозаполнение поля ввода слова «сказать» на основе того, что бот уже знает из определений AIML.
  2. Моя проблема в том, что я не знаю, как работает их логика / SQL, чтобы определить, что возвращается, чтобы я мог построить SQL для функции автозаполнения.
  3. Я использую JSON / JQuery версия чатбота и не внесены основные изменения в код. Были добавлены библиотеки CDN JQuery и JQuery UI (для автозаполнения JS). Код автозаполнения от Дэвид Карр.

Спасибо за любую помощь, которую вы можете предоставить!

//I added autocomplete JS within index.php

$(function() {

//autocomplete
$(".auto").autocomplete({
source: "search.php",
minLength: 1
});

});

//Search.php included within index.php

<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_NAME', 'demo');

if (isset($_GET['say'])){
$return_arr = array();

try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $conn->prepare('SELECT something FROM someTable WHERE something LIKE :say');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));

while($row = $stmt->fetch()) {
$return_arr[] =  $row['something'];
}

} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}

?>

0

Решение

Я не подходил к этой проблеме правильно. Вы можете сделать запрос, как показано ниже. Убедитесь, что вы включили jQuery UI CSS и JS файлы, чтобы это работало. Наконец, приведенный ниже скрипт не показывает саму форму, но гарантирует, что у вас есть ввод с id = «say» для правильной работы. Лучшие ответы приветствуются, но это то, что я смог придумать. Спасибо

//Main File / index.php etc
<script>
$(function() {
$( "#say" ).autocomplete({
source: "search.php",
minLength: 1
});
});
</script>//search.php
<?php
$host="localhost";
$username="uid";
$password="pwd";
$dbname="name";

//create a connection with dbname
$conn=mysqli_connect($host,$username,$password,$dbname);
if(!$conn)
{
die("error in establishing connection: ". mysqli_connect_error());
}

$search=$_GET['term'];

//select query to get data from table
$sql="SELECT pattern from aiml WHERE pattern LIKE '%".$search."%'";

//run the above query
$result=mysqli_query($conn,$sql);

//display all the records
while($row=mysqli_fetch_assoc($result))
{
//storing all the values of 'post_title' field one by one in an array
$data[]=$row['pattern'];
}

//return json data
echo json_encode($data);
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector