Перезагрузка страницы внутри <div>с помощью $ _GET - PullRequest
0 голосов
/ 22 сентября 2011

Следующая страница загружается внутри моего index.php.Я изначально называю это по следующей ссылке: Import Mutuals

Эта часть работает отлично.У меня проблема с кодом обновления внизу: var auto_refresh = setInterval (function () {\ $ ('# import'). Show ('fast'). Load ('fb_import_statuses.php? I = $i '). show (' fast ');}, 1000);

Я хочу, чтобы он изначально загружался с записью 1, а затем продолжал обновлять, обновляя мой SQL до тех пор, пока он не достигнет записи 255. Если я делаю этот же код за пределами DIV с помощью Meta Refresh, он хорошо выполняет последовательность шагов, нос помощью этого обновления JavaScript он будет выглядеть следующим образом:

1, 2, 3, 2, 3, 4, 2, 3, 4, 5 и т. д. *

Как я могу его получитьдля последовательности 1, 2, 3, 4, 5, 6, 7 и т. д. *

require 'batch_include.php';
require 'html_head.php';

if (isset($_GET['i'])){$i = $_GET["i"];} else {$i=0;}

$getcount = mysql_query("SELECT COUNT(id) AS get_count FROM people", $conn);
while ($row = mysql_fetch_array($getcount)){$get_count = "".$row{'get_count'}."";}

   $result = mysql_query("SELECT id FROM people LIMIT ".$i.",1", $conn);
   while ($row = mysql_fetch_array($result)){                                    
        $get_uid = addslashes("".$row{'id'}.""); 

    $me_friends = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT     status_id, message, source, time FROM status WHERE uid="'.$get_uid.'" LIMIT 5'));
    foreach ($me_friends as $fkey=>$me_friends){
        $get_status_id = $me_friends['status_id']; 
        $get_message = addslashes($me_friends['message']); 
        $get_source = $me_friends['source']; 
        $get_timestamp = $me_friends['time']; 

    $insert = mysql_query("INSERT INTO statuses (id, message, source, timestamp, uid)      VALUES ('$get_status_id', '$get_message', '$get_source', '$get_timestamp', '$get_uid')",     $conn);        
    }  
}             
$i = $i + 1;

if ($i<=$get_count){
echo "$i";
echo "<script>var auto_refresh = setInterval(function(){\$('#import').show('fast').load('fb_import_statuses.php?i=$i').show('fast');}, 1000);    </script>";
}

else {    
    echo "Import complete:  ";
    echo "<img src='/images/check.png'>";

    } 

1 Ответ

0 голосов
/ 22 сентября 2011

проблема в том, что вы добавляете несколько setInterval функций (каждый раз, когда страница загружается, вы echo другой метод).попробуйте вынести ваш метод обновления из div или вызовите функцию, включающую код php, отвечающий за получение информации из базы данных.

если вам не нужно обновлять страницу каждую секунду, вы можете получить все данные из базы данных с одним php файлом и вернуть его в некоторой форме (например, json).Я думаю, что это был бы лучший способ сделать это.

...