Начну свою прелюдию с того,что когда я пытался сделать это сам,то испорил весь язык php,вот мой нелогичный, РАБОЧИЙ как оказалось код(задачей была подгрузка списка пользователей при прокрутке страницы(нажатии на кнопку)): Код (Text): <?php $startFrom=0; $res = mysql_query("SELECT * FROM `users` ORDER BY `user_id` DESC LIMIT {$startFrom},10"); $articles = array(); while($row = mysql_fetch_assoc($res)) { $articles[] = $row; } ?> <div id="articles"> <?php foreach ($articles as $article): $timestamp2 = $article['date_online']; $timestamp1 = date("Y-m-d H:i:s"); $diff = strtotime($timestamp1) - strtotime($timestamp2); $second=$diff; if ($second>900) { $online="<font style='color:red;'>Offline</font>"; } else { $online="<font style='color:green;'>Online</font>"; } $user_show=sprintf("<img src='%s' width='50px' height='50px'><a href='show_user.php?user_id=%d' class='link' >%s %s(%s)</a><br>", get_web_path($article['user_pic_path']), $article['user_id'], $article['first_name'], $article['last_name'], $online); echo $user_show; endforeach; ?> <input type="button" id="more" value="dasdasd"> <script> inProgress=false; ar=<?php echo $startFrom; ?>; $('#more').click(function() { inProgress=true; function h() { ar+=10; b="'"; a= '<?php $res1 = mysql_query("SELECT * FROM `users` ORDER BY `user_id` DESC LIMIT {$startFrom}, 10;"); $articles1 = array(); while($row1 = mysql_fetch_assoc($res1)) { $articles1[] = $row1; } foreach ($articles1 as $article1): $timestamp2 = $article1['date_online']; $timestamp1 = date("Y-m-d H:i:s"); $diff = strtotime($timestamp1) - strtotime($timestamp2); $second=$diff; if ($second>900) { $online1="<font style='+b+'color:red;'+b+'>Offline</font>"; } else { $online1="<font style='+b+'color:green;'+b+'>Online</font>"; } $user_show1=sprintf("<img src='+b+'%s'+b+' width='+b+'50px'+b+' height='+b+'50px'+b+'><a href='+b+'show_user.php?user_id=%d'+b+' class='+b+'link'+b+' >%s %s(%s)</a><br>", $article1['user_pic_path'], $article1['user_id'], $article1['first_name'], $article1['last_name'], $online1); echo $user_show1; echo $startFrom; endforeach; ?>'; $("#articles").append(a); } h(); inProgress=false; }); </script> </div> Дело тут лишь в том,что в LIMIT никак не подставить нужное значение с js,чтобы информация не выводилась повторно.А если писать что-то типа $startFrom+=10; в вызове функции-это не работает.Вот еще 1 рабочий метод,который я взял с сайта: Основная страница,где выводится результат: Код (Text): <?php $startFrom=0; $res = mysql_query("SELECT * FROM `users` ORDER BY `user_id` DESC LIMIT {$startFrom},10"); $articles = array(); while($row = mysql_fetch_assoc($res)) { $articles[] = $row; } ?> <div id="articles"> <?php foreach ($articles as $article): $timestamp2 = $article['date_online']; $timestamp1 = date("Y-m-d H:i:s"); $diff = strtotime($timestamp1) - strtotime($timestamp2); $second=$diff; if ($second>900) { $online="<font style='color:red;'>Offline</font>"; } else { $online="<font style='color:green;'>Online</font>"; } $user_show=sprintf("<img src='%s' width='50px' height='50px'><a href='show_user.php?user_id=%d' class='link' >%s %s(%s)</a><br>", get_web_path($article['user_pic_path']), $article['user_id'], $article['first_name'], $article['last_name'], $online); echo $user_show; endforeach; ?> </div> Скрипт аякса,который срабатывает при прокрутке: Код (Text): $(document).ready(function(){ /* Переменная-флаг для отслеживания того, происходит ли в данный момент ajax-запрос. В самом начале даем ей значение false, т.е. запрос не в процессе выполнения */ var inProgress = false; /* С какой статьи надо делать выборку из базы при ajax-запросе */ var startFrom = 10; /* Используйте вариант $('#more').click(function() для того, чтобы дать пользователю возможность управлять процессом, кликая по кнопке "Дальше" под блоком статей (см. файл index.php) */ $(window).scroll(function() { /* Если высота окна + высота прокрутки больше или равны высоте всего документа и ajax-запрос в настоящий момент не выполняется, то запускаем ajax-запрос */ if($(window).scrollTop() + $(window).height() >= $(document).height() && !inProgress) { $.ajax({ /* адрес файла-обработчика запроса */ url: 'obrabotchik.php', /* метод отправки данных */ method: 'POST', /* данные, которые мы передаем в файл-обработчик */ data: {"startFrom" : startFrom}, /* что нужно сделать до отправки запрса */ beforeSend: function() { /* меняем значение флага на true, т.е. запрос сейчас в процессе выполнения */ inProgress = true;} /* что нужно сделать по факту выполнения запроса */ }).done(function(data){ /* Преобразуем результат, пришедший от обработчика - преобразуем json-строку обратно в массив */ data = jQuery.parseJSON(data); /* Если массив не пуст (т.е. статьи там есть) */ if (data.length > 0) { /* Делаем проход по каждому результату, оказвашемуся в массиве, где в index попадает индекс текущего элемента массива, а в data - сама статья */ $.each(data, function(index, data){ /* Отбираем по идентификатору блок со статьями и дозаполняем его новыми данными */ $("#articles").append("<img src='" + data.user_pic_path + "' width='50px' height='50px'><a href='show_user.php?user_id="+data.user_id+"' class='link' >"+data.first_name+" "+data.last_name+"()</a><br>"); }); /* По факту окончания запроса снова меняем значение флага на false */ inProgress = false; // Увеличиваем на 10 порядковый номер статьи, с которой надо начинать выборку из базы startFrom += 10; }}); } }); }); И обработчик: Код (Text): <?php require 'config1280/database_connection.php'; // C какой статьи будет осуществляться вывод $startFrom = $_POST['startFrom']; // Получаем 10 статей, начиная с последней отображенной $res = mysql_query("SELECT * FROM `users` ORDER BY `user_id` DESC LIMIT {$startFrom}, 10"); // Формируем массив со статьями $articles = array(); while ($row1 = mysql_fetch_assoc($res)) { $articles[] = $row1; } // Превращаем массив статей в json-строку для передачи через Ajax-запрос echo json_encode($articles); Но и тут я не знаю,как добыть переменную $online.Т.е. в скрипте добываются только те переменные,которые есть в базе.Пробовал переменую заменить аналогичной в самом скрипте,получается бред(пытался взять разность дат на js).Вопрос в том,как ее добыть или заменить. Добавлено спустя 33 минуты 3 секунды: Проблему решил,просто добавил в тот же файл еще 1 функцию Код (Text): $.ajax({ /* адрес файла-обработчика запроса */ url: 'obrabotchik1.php', /* метод отправки данных */ method: 'POST', /* данные, которые мы передаем в файл-обработчик */ data: {"startFrom" : startFrom}, /* что нужно сделать до отправки запрса */ /* что нужно сделать по факту выполнения запроса */ }).done(function(data){ /* Преобразуем результат, пришедший от обработчика - преобразуем json-строку обратно в массив */ data = jQuery.parseJSON(data); /* Если массив не пуст (т.е. статьи там есть) */ if (data.length > 0) { /* Делаем проход по каждому результату, оказвашемуся в массиве, где в index попадает индекс текущего элемента массива, а в data - сама статья */ $.each(data, function(index, data){ g=data.name; }); /* По факту окончания запроса снова меняем значение флага на false */ inProgress = false; // Увеличиваем на 10 порядковый номер статьи, с которой надо начинать выборку из базы }}); + сделал ячейку в таблице,которая обновляеся при любом действии любого пользователя и вписывает туда текущее время. Потом я просто высчитал результат Код (Text): var y1=new Date(g); var y2=new Date(data.date_online); var online=(new Date(y1).getTime() - new Date(y2).getTime())/1000; if(online>900) { online="<font style='color:red;'>Offline</font>"; } else { online="<font style='color:green;'>Online</font>"; } Немного заковыристо,но иначе не умею)