Я делаю прямой поиск с использованием AJAX и PHP на моем сайте. Я уже пробовал использовать XML, и мне это не нравится. Мне нужно, чтобы результаты поиска могли быть легко обновлены, и мне легче сделать это с помощью базы данных.php live search с массивом
Итак, у меня есть этот код до сих пор:
<?php
// database connection
$query = "SELECT * FROM Questions";
$doQuery = mysql_query($query);
$searchArray = array();
$x = 0;
while($row=mysql_fetch_assoc($doQuery)) {
$searchArray[$x] = $row['title'];
$x++;
}
$q = $_GET['search'];
Теперь у меня есть массив с названиями из моей таблицы вопросов.
Как бы я искал свой массив для строки, поскольку пользователь вводит каждую букву. (предполагая, что у меня есть функция, которая вызывает указанный выше запрос, используя ajax при событии keyup).
Или я делаю это совершенно неправильно? Я хотел бы использовать базу данных для получения результатов поиска. Каков наилучший способ сделать это?
благодаря
ПОСЛЕ EDIT: Я также уже пытались делать подобное заявление как часть $query
:
$query = "SELECT * FROM Questions WHERE title LIKE '%" . $q . "%'";
мне не понравилось, как он работал, потому что, как только вы прошли мимо одно слово в результат не совпал.
Почему у вас есть строка, которая говорит '$ x == 0;'? Разве это не должно быть '$ x = 0;'? – yellowantphil
да. Прости. опечатка. я исправлю это – krummens