<?php
include 'conn.inc.php';
$keyPressed = mysqli_escape_string($conn, $_POST['keyPressed']);
if (!empty($keyPressed)) {
$sql = "SELECT name, type FROM businesses WHERE name LIKE '$keyPressed%' ORDER BY name";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row=mysqli_fetch_assoc($result)) {
echo "<div class='businesses-bar'>
<p class='businessName'>",
$row['name'],
" (",$row['type'],")","</p>
<button type='button'>PIN</button>
</div>";
}
} else {
echo "0 results";
}
} else {
echo "Search a business and click \"Pin\" to add it to the map.";
}
?>
То, что я хочу сделать, должно быть довольно простым. Я чувствую, что мне просто не хватает ключевого слова или чего-то еще.
- Получите нажатия клавиш из файла javascript и передайте их через Ajax в этот файл под переменной $ keyPressed
- Поиск предприятий по названию в моей базе данных
- Вывод «0 Результатов», если нажатия клавиш не соответствуют ни одному имени в базе данных
Проблема: каждый раз, когда $ keyPressed не соответствует 'name', буква за буквой, в столбце моей базы данных 'name', я получаю пустое возвращаемое значение (на экран ничего не выводится). Я хочу, чтобы он отображал «0 результатов», если мои нажатия клавиш больше не соответствуют LIKE 'name' в моей базе данных.
Я пытался поместить оператор else в конец
- if ($ result = mysqli_query ($ conn, $ sql)
в надежде на то, что если нет результатов, будет эхо
но он просто отображает пустое пространство, как будто находит какой-то пустой результат.
Предоставляются все фотографии моей проблемы, за исключением файла javascript (который, как я знаю, не является проблемой).