0

就像在柯比的演示中一样

<?php foreach(page('projects')->children()->visible()->limit(3) as $project): ?>

我想对记录进行动态限制。我怎样才能做到这一点?

我尝试过 JavaScript,但它不起作用。

这是无效的 JavaScript 代码

<script> 
  var p1 = 3;
  function load()
  {
    p1=p1+3;
  }                 
</script>

<?php
$number="<script>document.write(p1)</script>";
// echo $number; 
<?php foreach(page('projects')->children()->visible()->limit($number) as $project): ?>
  //Code Here
<?php endforeach ?>

<div class="text-center"><a href="#" class="load-more" onClick="load();">LOAD MORE</a></div>

如果有人做过,建议我。

4

1 回答 1

0

You can't, at least not in this way.

Think of when and where your code is getting executed. PHP is executed by the server, before the browser even receives the page. JavaScript is executed by the browser, after the page is done loading.

You can either have a separate script that generates what you need from your number, and pass that as a GET or POST value to the script via an AJAX request, or generate the number you need in PHP.

So in case of an AJAX request you'd have your PHP script doing something like:

<?php
$number = $_GET['number'];
foreach (page('projects')->children()->visible()->limit($number) as $project) {
    echo .....
}
?>

and your JavaScript would call that script via an AJAX request and put the resulting HTML into your page, with something like:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    document.getElementById("container").innerHTML = xht.responseText;
}
xhr.open("GET", "script.php?number=" + p1, true);
xhr.send();
于 2016-08-23T09:00:44.973 回答