【问题标题】:Load More from Php Array从 PHP 数组加载更多
【发布时间】:2017-03-10 16:57:06
【问题描述】:

如果滚动到页面底部,如何从数组中加载更多内容。 所以只显示了前 5 个“项目”,如果您滚动到底部,则会显示下 5 个,这样浏览器就不会崩溃。 我的数组:

$statement = $pdo->prepare("SELECT * FROM actvt");
$statement->execute();
$users = $statement->fetchAll();

foreach($users as $row) { 
echo $row("username");
}

【问题讨论】:

  • 我会使用 Ajax 请求,并且基本上从您的对象中附加每个键,这样您就知道哪个对象是最后一个,并让那个对象拉出数组中的最后一个对象。
  • 或者,如果合适的话,您可以考虑使用诸如服务器端数据表之类的东西。
  • 如果你使用 MySQL,你可以强制 MySQL 只返回表中的一部分行:SELECT * FROM actvt LIMIT 0, 10(0 是从零开始的行偏移量,10 是行数) .

标签: javascript php jquery arrays loops


【解决方案1】:

php

function callMore(){
 $last_appt = $_POST['last_result'];
 $statement = $pdo->prepare("SELECT * FROM actvt WHERE date = ".$last_appt." limit = X "); //not sure your table structure , X is how many you want to load
 foreach($statement as $val){
  //Set your gathered results here
 }
 return X //return the results to your ajax call
}

js/ajax 调用

$.ajax({
            type: 'POST',
            data: {
                action: 'callMore',
                lastPost : XXXX //Put your last post here
            },
            success : function(msg){
                //Do something with returned data append where ever
            },
            datatype: 'json',
   });

从这里你需要检测你何时到达最后一个帖子...我建议检测你何时位于页面底部,如果你使用 jquery,请在最后一个帖子上使用 scrollTop 来查找它的 Y 值,然后在接近底部时使用滚动来触发窗口偏移。一旦到达底部,运行 ajax 函数并检索下一个结果。

【讨论】:

    【解决方案2】:

    所以你可以像 load.php 一样创建东西:

    $start=$_GET["page"]*100;//100 entries
    $statement = $pdo->prepare("SELECT * FROM actvt ");
    $statement->execute();
    $users = $statement->fetchAll();
    $counter=0;
    foreach($users as $row) { 
    $counter++;
    if($counter>$start && $counter <=$start+100){//100 entries
    echo $row("username");
    }
    }
    if($counter<$row.length){
    echo "<a href='?page=".($page+1)."'>Next Page</a>";
    }
    

    现在您可以拨打“http://yourpage?page=10”...

    js部分就够填另一个答案了……

    【讨论】:

    • 你完全错过了标记。他们想在滚动时拉更多。您的答案基于分页。
    • @Cam 但这是第一步。用户可以通过学习js来进步,因为这不是一个代码编写服务...
    • 有用提示的目的是引导正确的方向。给出不正确的代码概念而不是我最初使用 Ajax with key's 的开场评论是回答他的问题的开始步骤,而不是对错误解决方案的一线希望。我不是说你不知道你在说什么,显然你的能力,我说你的解决方案没有朝着正确的方向发展。但各有各的。
    • @Cam 你呢? (如果你的更好......)
    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多