php ajax中加载更多结果的问题

php ajax中加载更多结果的问题,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我在PHP上遵循MVC结构,这对我很有帮助 现在我已经实现了用于延迟加载的Ajax功能,以便在用户单击时加载更多帖子(加载更多) 我已经实现了这个结构,它工作得很完美,但我遇到了一个小问题。问题是当没有可用的记录时,它仍然显示加载更多内容,然后显示不加载更多内容 我试图解决这个问题,但我无法解决,这就是我来这里的原因 我的代码有效: index.php <script type="text/javascript" src="http://ajax.googleapis.com/ajax/l

我在PHP上遵循MVC结构,这对我很有帮助

现在我已经实现了用于延迟加载的Ajax功能,以便在用户单击时加载更多帖子(加载更多)

我已经实现了这个结构,它工作得很完美,但我遇到了一个小问题。问题是当没有可用的记录时,它仍然显示加载更多内容,然后显示不加载更多内容

我试图解决这个问题,但我无法解决,这就是我来这里的原因

我的代码有效:

index.php

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
    $('.more_button').live("click", function () {
        var getId = $(this).attr("id");
        if (getId) {
            $("#load_more_" + getId).html('<img src="<?php echo URL; ?>public/img/load_img.gif" style="padding:10px 0 0 100px;"/>');
            $.ajax({
                type: "POST",
                url: "<?php echo URL; ?>home/loadSong",
                data: "getLastContentId=" + getId,
                cache: false,
                success: function (html) {
                    $("ul#load_more_ctnt").append(html);
                    $("#load_more_" + getId).remove();
                }
            });
        } else {
            $(".more_tab").html("<div class='all_loaded'>No More Content to Load</div>");
        }
        return false;
    });
});
</script>

<div class='main_div'>
    <ul class="load_content" id="load_more_ctnt">
        <?php foreach ($songs as $song) { $id = $song->id; ?>
            <li> <a href="#"><?php if (isset($song->artist)) echo $song->artist; ?></a> </li>
        <?php } ?>
    </ul>
    <div class="more_div">
        <a href="#">
            <div id="load_more_<?php echo $id; ?>" class="more_tab">
                <div class="more_button" id="<?php echo $id; ?>">Load More Content</div>
            </div>
        </a>
    </div>
</div>
homemodel.php(model)

公共函数loadmoreSong($getLastContentId){
如果(isset($\u POST['getLastContentId'])){
$getLastContentId=$\u POST['getLastContentId'];

$sql=“从歌曲中选择id、艺术家、曲目、链接,其中id只需编辑这段代码:

<a href="#">
 <div id="load_more_<?php echo $id; ?>" class="more_tab">
 <div id="<?php echo $id; ?>" class="more_button">Load More Content</div>
 </div>
</a>

为此:

<?php    
if($id!=""){
?>
<a href="#">
 <div id="load_more_<?php echo $id; ?>" class="more_tab">
 <div id="<?php echo $id; ?>" class="more_button">Load More Content</div>
 </div>
</a>
<?php
}
?>

SQL\u CALC\u FOUND\u行添加到SELECT查询中,如:

select SQL_CALC_FOUND_ROWS id, artist, tra....
然后使用以下命令检查找到的行:

SELECT FOUND_ROWS()
将结果存储在var$found\u行中

然后,在homemodel.php的末尾,您将看到:

if ( $count < $found_rows ) {
    ?>
            <a href="#">
                <div id="load_more_<?php echo $id; ?>" class="more_tab">
                    <div id="<?php echo $id; ?>" class="more_button">Load More Content</div>
                </div>
            </a>
    <?php
} else {
    ?>
            <a href="#">
                <div id="load_more_<?php echo $id; ?>" class="more_tab">
                     <div class='all_loaded'>No More Content to Load</div>
                </div>
            </a>
    <?php
}
if($count<$found\u行){
?>
更改:

if($count > 0)
致:


您需要读取结果的总计数,并相应地显示或不显示.more_div部分。请在模型中提供else语句。这不会改变任何内容,除了bool的额外内部强制转换。实际上是的,它会改变所有内容,因为当您检查数组是否大于标量时,它将始终返回truenice一个点你告诉他:)非常感谢你的帮助:)
if ( $count < $found_rows ) {
    ?>
            <a href="#">
                <div id="load_more_<?php echo $id; ?>" class="more_tab">
                    <div id="<?php echo $id; ?>" class="more_button">Load More Content</div>
                </div>
            </a>
    <?php
} else {
    ?>
            <a href="#">
                <div id="load_more_<?php echo $id; ?>" class="more_tab">
                     <div class='all_loaded'>No More Content to Load</div>
                </div>
            </a>
    <?php
}
if($count > 0)
if($count)