javascript - 当代码输出为空时如何打印 "not found"?

标签 javascript php jquery ajax

我混合了“ajax select”和“滚动加载数据时”脚本,并且这是有效的,但我不知道如何在 div.status 中打印“未找到数据”输出变量(在 animals.php 上)为空。

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Animals</title>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>

<div class="search">

<div class="filter category">
    <select name="category" id="category">
        <option value="">All</option>
        <option value="free">Free</option>
        <option value="lost">Lost</option>
        <option value="found">Found</option>
    </select>
</div>

<div class="filter chipnumber">
    <input type="text" name="chipnumber" id="chipnumber"></div>
</div>

<div class="send">

<button type="submit" id="submit">Search</button>

</div>

</div>

<script>

$(document).ready(function() {

    var animal_limit = 6;
    var animal_start = 0;
    var animal_action = 'inactive';

    function load_animal_data() {

        var category = $('#category').val();
        var chipnumber = $('#chipnumber').val();

        $.ajax({

            url: "animals.php",
            method: "POST",
            data: {animal_limit:animal_limit, animal_start:animal_start, animal_action:animal_action, category:category, chipnumber:chipnumber},
            success:function(data) {

                $('div.animals').append(data);

                if (data == '') {

                    animal_action = 'active';

                } else {

                    animal_action = 'inactive';

                }

            }

        });

    }

    load_animal_data();

    function search() {

        var category = $('#category').val();
        var chipnumber = $('#chipnumber').val();

        animal_start = 0;

        load_animal_data();

    }

    $('#search').on('click', function() {

        search();

    });

    $(window).scroll(function () {

        if ($(window).scrollTop() + $(window).height() > $('div.animals').height() && animal_action == 'inactive') {

            animal_action = 'active';

            animal_start = animal_start + animal_limit;

            setTimeout(function() {

                load_animal_data();

            }, 1000);

        }

    });

});

</script>

<div class="animals"></div>
<div class="status"></div>

</body>
</html>

动物.php

<?php

$connect = mysqli_connect("localhost", "root", "", "petsdata");

if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_set_charset($connect,"utf8");

$output = '';

$animal_start = $connect->real_escape_string($_POST["animal_start"]);
$animal_limit = $connect->real_escape_string($_POST["animal_limit"]);

$category = $connect->real_escape_string($_POST["category"]);
$chipnumber = $connect->real_escape_string($_POST["chipnumber"]);

if (isset($animal_start, $animal_limit, $category, $chipnumber)) {

    if (!empty($category) && !empty($chipnumber)) {

        $query = mysqli_query($connect, "SELECT * FROM animals WHERE chipnumber LIKE '%".$chipnumber."%' AND category = '".$category."' ORDER BY id LIMIT ".$animal_start.", ".$animal_limit."");

    }

    else if (!empty($category)) {

        $query = mysqli_query($connect, "SELECT * FROM animals WHERE category = '".$category."' ORDER BY id LIMIT ".$animal_start.", ".$animal_limit."");

    }

    else if (!empty($chipnumber)) {

        $query = mysqli_query($connect, "SELECT * FROM animals WHERE chipnumber LIKE '%".$chipnumber."%' AND status = '1' ORDER BY id DESC LIMIT ".$animal_start.", ".$animal_limit."");

    }

    else {

        $query = mysqli_query($connect, "SELECT * FROM animals ORDER BY id DESC LIMIT ".$animal_start.", ".$animal_limit."");

    }

        while ($row = mysqli_fetch_array($query)) {

            $output .= '<div class="animal">';
                $output .= '<span>Category: ' . $row["category"] . '</span>';
                $output .= '<span>Chipnumber: ' . $row["chipnumber"] . '</span>';
            $output .= '</div>';

        }

}

echo $output;

?>

最佳答案

if($query->num_rows > 0){
   //Proceed as normally 
}else{
   $output = 'No data Found';
}

关于javascript - 当代码输出为空时如何打印 "not found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47024579/

相关文章:

javascript - 从 Angular 中的 api 导入样式

javascript - 在 BIRT 中显示修改后的参数值

javascript - 如何将 <Tag> 放入 src/href 中

javascript - 为什么我的联系表不起作用? loading.gif 卡住了,没有任何反应

php - 从单个表中获取两列,其中一列是最大值,并按该最大值列进行分组

javascript - 将 jQuery Datepicker 值设置为仅限上个月

jquery - 如何从 XML 文件输出 HTML?

javascript - 延迟 JavaScript 加载

javascript - 如何使用babel以编程方式将es6转换为es5?

javascript - 如何使用jQuery去除多个标签的属性样式?