Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery无限页面滚动_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript jQuery无限页面滚动

Javascript jQuery无限页面滚动,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图在页面滚动上完成ajax内容加载,但在某些部分遇到了问题 以下是我的PHP代码: //Fetch Total Record $objDB = new DB; $fetchCount = $objDB ->setStoredProc( 'petContestFetchImagesCount' ) ->execStoredProc() ->parseXML(); $fetchCount = $fetchCount->data; //Total n

我试图在页面滚动上完成ajax内容加载,但在某些部分遇到了问题

以下是我的PHP代码:

//Fetch Total Record
$objDB = new DB;
$fetchCount = $objDB
   ->setStoredProc( 'petContestFetchImagesCount' )
   ->execStoredProc()
   ->parseXML();
 $fetchCount = $fetchCount->data;

 //Total number of results
 $totalResults = $fetchCount->totalRecords; 

 //Records per page
 $limit = 5; 

 //Total number of pages / calls we will make based on the results
 $pages = ceil($totalResults/$limit);

//What page are we currently on?
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
    'options' => array(
        'default'   => 1,
        'min_range' => 1,
    ),
)));

$offset = ($page - 1)  * $limit;

// Some information to display to the user
$start = $offset + 1;
$end = min(($offset + $limit), $total); 

$nextlink = ($page < $pages) ? '<nav id="page_nav"><a href="?page=' . ($page + 1) . '"></a></nav>' : '';

//Fetch Entries
$objDB = new DB;
$submissions = $objDB
   ->setStoredProc( 'petContestFetchImages' )
   ->setParam("offset", $offset )
   ->setParam("rows", $limit )
   ->execStoredProc()
   ->parseXML(); 
当我向下滚动页面时,它正在加载内容。但是,它会到达最后一条记录,并且每次只加载最后一条记录。如果我上下滚动,它只加载最后一条记录

我测试了我的存储过程,它甚至没有输出结果。当我说从记录11开始(最后一个结果),再给我5个时,它不返回任何数据

不确定我在这里遗漏了什么,但在点击最后一条后,它不应该加载更多的记录

我将此作为参考:

编辑:

这个客户端更改可以工作,但是它不会阻止ajax调用的启动,只会添加任何结果

var tmp = 1;
var pages = '<?php echo $pages; ?>

$container.infinitescroll({
    navSelector: '#page_nav',
    nextSelector: '#page_nav a',
    itemSelector: '.item',
    pixelsFromNavToBottom: -Math.round($(window).height() * 0.9),
    bufferPx: Math.round($(window).height() * 0.9),
    loading: {
        msgText: $container.attr("data-loading-message"),
        finishedMsg: $container.attr("data-no-more-translators")
        }
}, function(newElements) {
    if(tmp < pages){
        $container.isotope('appended', $(newElements))
    }
    tmp++;
    })

})
var-tmp=1;
var pages=
$container.infinites卷({
导航选择器:“#页面导航”,
下一个选择器:“#页面导航a”,
itemSelector:“.item”,
pixelsFromNavToBottom:-Math.round($(窗口).height()*0.9),
bufferPx:Math.round($(窗口).height()*0.9),
装载:{
msgText:$container.attr(“数据加载消息”),
finishedMsg:$container.attr(“数据不再转换”)
}
},函数(新元素){
如果(tmp<页数){
$container.同位素('附加',$(新元素))
}
tmp++;
})
})

我想您应该检查一下是否达到了最大页数

  if($page<$pages){
       //Fetch Entries
       $objDB = new DB;
       $submissions = $objDB
        ->setStoredProc( 'petContestFetchImages' )
        ->setParam("offset", $offset )
        ->setParam("rows", $limit )
        ->execStoredProc()
        ->parseXML(); 
    }
if($pagesetStoredProc('petContestFetchImages'))
->setParam(“偏移量”、$offset)
->setParam(“行”,美元限制)
->execStoredProc()
->parseXML();
}
然后将nextlink更改为回显一个高于$pages变量的额外链接

    $nextlink = ($page <= $pages) ? '<nav id="page_nav"><a href="?page=' . ($page + 1) . '"></a></nav>' : '';

$nextlink=($page这种方法很有效,每次都停止显示同一条记录,但现在根本不显示最后一条记录。我有11条记录,每页5条。因此总共有3页。它加载了3页,但最后一页没有任何内容,因为从未执行此数据库调用来提取内容嗯…如果($pageYeah,我尝试了“尝试我的编辑:”)可能就可以了。只需使用$nextlink=($PageWird,同样的问题!我知道你的想法了。它调用了第3页ajax,但没有加载其中的内容。它总是加载
index.php
,但它会在上面添加页码,所以我认为它会点击
index.php?page=3
,然后因为
如果($pageI认为解决方法是你能得到的最好的方法。因为根据插件文档。“目前没有办法取消或退出该行为”。可能只是发出警报(“你已经到达终点”),让用户得到某种反馈,或者创建一个你$(“#你的div”)的div。如果(tmp!非常感谢您的帮助!我可能需要寻找其他方法来完成这项工作或其他插件
    $nextlink = ($page <= $pages) ? '<nav id="page_nav"><a href="?page=' . ($page + 1) . '"></a></nav>' : '';