PHP 通过 AJAX 加载增加数量


php increasing number through ajax load

我有一个php循环,有一些php递增的数字:

<loop start>
    <?php $num=0; $onum=0; ?>
    <div class="<?php echo ++num; ?>"></div>
    <div class="<?php echo ++onum; ?>"></div>
</loop end>

现在这个循环正在运行以获取页面上的帖子,但是另一个页面上的帖子使用 ajax 加载到同一页面上,为此重置了数字值。

所以而不是得到这个:

<loop start>
    <div class="1"></div>
    <div class="2"></div>
</loop end>
<loop start>
    <div class="3"></div>
    <div class="4"></div>
</loop end>
<!-- ajax load -->
<loop start>
    <div class="5"></div>
    <div class="6"></div>
</loop end>

我得到这个:

<loop start>
    <div class="1"></div>
    <div class="2"></div>
</loop end>
<loop start>
    <div class="3"></div>
    <div class="4"></div>
</loop end>
<!-- ajax load -->
<loop start>
    <div class="1"></div>
    <div class="2"></div>
</loop end>

有什么想法吗?

当你调用ajax时,你的PHP脚本不知道当前值是什么。因此,您需要将其与每个(ajax)请求一起发送。

http://example.com/your-ajax-script.php?num=3&onum=4

然后在服务器端,你会得到这样的值:

$num = isset($_GET['num']) && !empty($_GET['num']) ? (int)$_GET['num'] : 0;
$onum = isset($_GET['onum']) && !empty($_GET['onum']) ? (int)$_GET['onum'] : 0;
// the reste of your code.

我建议你在ajax参数中发送最后loop的最后一个div的类,所以它也需要在php端进行更改,就像:

<loop start>
    <?php 
       $num=isset($_REQUEST['num']) ? $_REQUEST['num'] : 0; 
       $onum=isset($_REQUEST['num']) ? $_REQUEST['num'] : 0;
    ?>
    <div class="<?php echo ++num; ?>"></div>
    <div class="<?php echo ++onum; ?>"></div>
</loop end>

你可以像这样使用 Ajax:

$.post('url', {
      num:parseInt($('loop:last').find('div:last').attr('class'), 10)
   }, function (data){
      // success callback
});

你必须在循环之外声明var

<?php $num=0; $onum=0; ?>
<loop start>    
    <div class="<?php echo ++num; ?>"></div>
    <div class="<?php echo ++onum; ?>"></div>
</loop end>