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

少なくともこの方法ではできません。

コードがいつどこで実行されるかを考えてください。PHP は、ブラウザがページを受信する前に、サーバーによって実行されます。JavaScript は、ページの読み込みが完了した後、ブラウザーによって実行されます。

番号から必要なものを生成する別のスクリプトを作成し、それを GET または POST 値として AJAX リクエストを介してスクリプトに渡すか、必要な番号を PHP で生成することができます。

したがって、AJAX リクエストの場合、PHP スクリプトは次のようになります。

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

JavaScript は AJAX リクエストを介してそのスクリプトを呼び出し、次のような HTML をページに挿入します。

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 に答える