如何在php中自动增加变量值?

时间:2014-12-12 16:42:26

标签: php mysql

所以我得到了mysql和ajax的记录,如下所示:

include 'config2.php';
$connection; 
mysql_query("SET CHARACTER SET utf8 ");
$limit = 4; //how many items to show per page
$page = $_GET['page'];

if($page) 
    $start = ($page - 4) * $limit;          //first item to display on this page
else
    $start = 0;                             //if no page var is given, set start to 0
$limit++;
$query = "SELECT * FROM `adatok` ORDER BY `id` DESC LIMIT $start, $limit " ; //You don't need a ; like you do in SQL
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
}

工作正常,但问题是当您再次单击“加载更多”按钮时,此代码运行的位置,增量仅发生一次,并且当用户再次单击按钮时,我想增加此数字,然后再次。 那我怎么能自动完成这个呢? ajax部分:

function load(){
         $( ".video-body" ).fadeIn( "slow", function() {
       $.get( "next.php", function( data ) {
       'start': start,  
                            'limit': limit, 
  $( ".video-body" ).html( data );

    // Animation complete
  });
}); 
 }

1 个答案:

答案 0 :(得分:1)

一种简单的方法是声明一个全局JS变量,并通过查询字符串将其传递给next.php,并在成功时将其递增limit

var start = <?php echo $start; ?>;
var limit = <?php echo $limit; ?>;
function load(){
    $( ".video-body" ).fadeIn( "slow", function() {
        $.get( "next.php?start=" + start + "&limit=" + limit, function( data ) {
            $( ".video-body" ).html( data );
            start = start + limit;
            // Animation complete
        });
    }); 
}

然后在next.php文件中,您可以使用$_GET['start']$_GET['limit']访问该变量。

请注意我是如何使用$start将PHP变量$limit<?php echo ... ; ?>传递到Javascript中的 - 这是因为Javascript无法在没有显式传递的情况下看到PHP变量。上面的代码片段有很多假设,主要的一个原因是初始Javascript代码是在同一个PHP页面中加载的,该页面声明了起始$start$limit变量。