[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: показать статус выполнения скрипта
Bolik
Привет,

у меня скрипт проходит циклом по ID на сайте и копирует нужную инфу) таких айдишников ооочень много и хотелось бы видеть статус выполнения скрипта. нашел простое решение через js


echo '<script language="javascript">
document.getElementById("information").innerHTML="'.$startcount.' ID processed.";
</
script>';
echo str_repeat(' ',1024*64)


в принципе работает, но когда помещаю этот код в цикл, то он каждый раз выводится в html коде, а это для хотя бы 10 тыс. ID уже слишком. как можно решить эту проблему по-другому?

заранее спасибо!
Игорь_Vasinsky
он у тебя должен менять значение $startcount в document.getElementById("information")

а ты что наблюдаешь? каждый раз дописывается?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Bolik
значение $startcount меняется, ничего не дописывается, это в принципе единственное, что мне нужно видеть.

но в исходнике код повторяется столько же раз, сколько и проходов цикла. если проходов больше 10 тыс. то скопировать с браузера что-то просто невозможно и страница может перезагрузиться сама..
Игорь_Vasinsky
а если обернуть в php функцию?

инициализация всего 1 раз - и вызов тоже

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Bolik
1. Запускаешь скрипт, который долго выполняется. Он в свою очередь пишет в файл о своем состоянии (прогресс/ошибки и т.д.)
2. периодически аяксом/ифрейм ходишь до этого файла и смотришь содержимое
Bolik


function getstatus ($startcount) {
echo '<script language="javascript">
document.getElementById("information").innerHTML="'
.$startcount.' ID processed.";
</script>'
;
echo str_repeat(' ',1024*64);
}



так?

если вызывать функцию в цикле, то та же картина.
Bolik
Цитата
2. периодически аяксом/ифрейм ходишь до этого файла и смотришь содержимое


в аяксе я 0 smile.gif c файлом пробовал, но он в браузере каждый раз дописывает новое значение
Игорь_Vasinsky
ты не функцию в цикле вызывай, а цикл внутри функции biggrin.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Bolik
ну так тогда цикл внутри этой функции и будет выводить много кода) . только что попробовал.
Bolik
а как вызвать правильно js код в php без echo? если я правильно понимаю, это echo и выводит каждый раз код между тегами <script>
kaww
very_long_script.php
$i = 0;
while(true) {
file_put_contents('pid.txt', ++$i);
}


index.html (с использованием jQuery)
<div id="status"></div>
<script>
function
checker() {

$.ajax({
url: "/pid.txt",
success: function(data) {

document.getElementById("status").innerHTML = data;
setTimeout("checker", 1000);
}
}
)
}
</script>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.