JavaScript — My PHP else {// оператор}; не отображается, если не найдено результатов с использованием LIKE в SQL (предоставляются рисунки)

<?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 не совпадает с «имя», буква за буквой, в столбце моей базы данных «имя», я получаю пустое возвращаемое значение (на экран ничего не выводится). Я хочу, чтобы он отображал «0 результатов», если мои нажатия клавиш больше не соответствуют LIKE ‘name’ в моей базе данных.

Я пытался поместить заявление else в конце

  • if ($ result = mysqli_query ($ conn, $ sql)

надеясь, что если нет результатов, это будет эхом

  • else {echo «0 results»};

но он просто отображает пустое пространство, как будто находит какой-то пустой результат.

Все фотографии моей проблемы предоставлены за исключением файла javascript (который, я знаю, не является проблемой).

-1

Решение

согласно PHP документу mysqli_query() Для SELECT, SHOW, DESCRIBE, EXPLAIN и других операторов, возвращающих набор результатов, mysql_query () возвращает ресурс в случае успеха или FALSE в случае ошибки.

попробуй это

if ($result = mysqli_query($conn, $sql) && mysqli_num_rows($result)){
...
}else{
...
}
0

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

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

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