jquery scrollextend

时间:2012-09-05 16:46:21

标签: php jquery jquery-plugins

我遇到了 jquery scrollextend 插件的问题。目标是从load_messages.php获取一些html元素并将其插入到html页面中。问题是,当我重新加载html页面(即不止一次调用load_messages.php)时,我收到错误:

注意:未定义的变量:functions.php中的数据。

我无法弄清楚究竟是什么导致了这个问题,因为先前已经定义了php变量$ data。有人可以帮忙吗?

jquery代码如下所示:

//scroll
$('.scroll_container').scrollExtend(
        {
            'target': '#wall_container',
            'url': 'load_messages.php',


        }
    );

load_messages.php包含以下代码(我省略了不必要的代码块):

<?php
include_once 'functions.php';

$user_id=$_SESSION['user_id'];
$Wall = new Wall_Updates();
$table="friends".$user_id;
$updatesarray=$Wall->Updates($table,$user_id,$upper_limit,$lower_limit);
?>

function.php中的更新功能如下:

  public function Updates($table,$user_id,$upper_limit,$lower_limit) 
{

    $query = mysql_query("SELECT user.user_id, first_name, post_content,post_id,UNIX_TIMESTAMP( created ) AS time
                          FROM user, posts
                          WHERE (
                          user.user_id
                          IN (

                          SELECT friends_id
                          FROM $table)
                          OR user.user_id =$user_id)
                          AND user.user_id = posts.user_id
                          order by post_id desc
                          LIMIT $lower_limit , $upper_limit") or die(mysql_error());
     while($row=mysql_fetch_array($query))
     {
    $data[]=$row;
      }
    return $data;

}

1 个答案:

答案 0 :(得分:0)

您正在初始化while循环中的$ data,这意味着它不适用于循环之外的任何内容。如果要存储循环中的值,请在循环外部初始化变量。

public function Updates($table,$user_id,$upper_limit,$lower_limit) 
{

    $query = mysql_query("SELECT user.user_id, first_name, post_content,post_id,UNIX_TIMESTAMP( created ) AS time
                          FROM user, posts
                          WHERE (
                          user.user_id
                          IN (

                          SELECT friends_id
                          FROM $table)
                          OR user.user_id =$user_id)
                          AND user.user_id = posts.user_id
                          order by post_id desc
                          LIMIT $lower_limit , $upper_limit") or die(mysql_error());

     $data = array();
     while($row=mysql_fetch_array($query))
     {
         $data[]=$row;
     }
     return $data;

}