Как вы обычно делаете счетчик для отображения процента работы скрипта? И делаете ли вы его вообще

VVWind

Новичок
В моем случае я делаю так.
Сначала делаю css для счетчика, его div и сам скрипт на javascript.

PHP:
<style>
    .counter {
        position: fixed;
        right: 0px;
        top: 0px;
        padding: 10px;
        background-color: #5C3F33;
        font-family: Arial;
        width: 200px;
        height: 160px;
        color: #fffffd;
    }
</style>

<div id="counter" class="counter"></div>

<script type="text/javascript">
    function counter(yes, no) {
        document.getElementById("counter").innerHTML = 'Загружено <strong>'+yes+'</strong>, не загружено <strong>'+no+'</strong>';
    }    
</script>
А после, если есть цикл, в конце итерации цикла добавляю:

PHP:
echo ("<script>counter(".$found.", ".$notfound.");</script>");
Конечно, я подозреваю, это метод из леса и есть намного быстрее и удобнее, учитывая, что счетчик начинает работать лишь с 1 минуты.

Данные, естественно, каждый раз подставляю разные.

Зачем мне счетчик? Просто мне нужно создать 14.000 записей в mysql, импортируя их из файла.
Счетчик для проверки, сколько уже импортировано.
 

WMix

герр M:)ller
Партнер клуба
ты частый гость в последнее время, а эта красота нужна тебе или пользователю?
по простому можно echo flush написать, а я бы вообще в консоле запустил бы тогда echo вполне достаточно
для красоты
PHP:
 echo $found%50==0 ? $found."\n" : '.';
 

VVWind

Новичок
Вообще, если тут не приветствуется частый постинг, то я успокоюсь :)
Просто интересно же узнавать новое не только из гугла, но и из общения на форум. Делится мнениями и т.д.

Красота эта нужна пользователю при печати более 1к страниц, чтобы он видел прогресс и не нервничал.
А в случае импорта 14к записей мне нужно видеть прогресс, чтобы не нервничать :D Это просто последний раз заняло 30 минут.
 

WMix

герр M:)ller
Партнер клуба
я тоже за это, пообщаться с людьми... обменяться мнением, выслушать нотацию....

ну можно картинку или дифчик с с заливкой по ширине изменять,
PHP:
$('#progress').css('width': parseInt(done/total*balke_width)+'px');
$('#progress').text(parseInt(done/total*100)+'%');
и если ты уже вызываешь это на js то почему не сделать после загрузки? в смысле не ждать от загружаемого документа явускрипт...
PHP:
function import_data(total, done){
  $.ajax({
    complete: function(){
      import_data(total, done+1);
      // и измени балку
    }
  });
}

$('#кнопочка').click(function(){
 import_data(total,0);
});
 

Ragazzo

TDD interested
Джимми все денег не хватает, уже сайтостроением занялся.
 

HEm

Сетевой бобер
Кстати, в России из тех кто дал денег больше процент народу чем в других странах, которые дали именно из-за его личного обращения.
 

WMix

герр M:)ller
Партнер клуба
HEm
к чему это? общение развивает скупость у населения, или у русского человека широкая душа?
 

VVWind

Новичок
flush() очень помог. Не знал про него.

Этот скрипт в сыром виде и только для меня. Я даже без кнопок просто в ссылке указываю имя файла.
Мне просто нужно видеть прогресс и я его уже сделал. т.е. модифицировать его и улучшать сейчас - не несет особой пользы.
 

WMix

герр M:)ller
Партнер клуба
для себя яб писал бы так коротко, чтоб изменять было легче....и точто без прогрессбалок и точно не как страничку, а скриптик...
 

Redjik

Джедай-мастер
А зачем ты стили для счетчика делаешь?
в твитер бутстрапе не устраивает что ли?
Ну уж в крайнем случае jquery UI бы взял.
 

WMix

герр M:)ller
Партнер клуба
Redjik
можно и UI какая тут уже разница,..
в твитер бутстрапе не устраивает что ли?
не очень понимаю, bootstrap понятно twitter понятно, в твитер бутстрапе не понятно ((

С jquery ui не работал.
интересен не сам UI хотя тоже много проблем решает, интересен способ написания ява скриптов в jquery

метод document.getElementById перегружен методом $()...
те document.getElementById("counter") в jquery звучит $('#counter')

но можно искать и по классу и по тегу и и и то что написанно в кавычках это практически css selector
#counter{....}

информация исключительно для легкого начала работы в библиотеках типа prototype. mootools, jquery...
 

WMix

герр M:)ller
Партнер клуба
Ragazzo
twitter.github.com/bootstrap не использую, слово bootstrap звучит для меня как слово загрузка, использую bootstrap под Zend..
очень интерессно что это еще и среда разработки от twitter...
 

Redjik

Джедай-мастер
Ага - я конкретно про это - http://twitter.github.com/bootstrap/components.html#progress

Ragazzo
кстати - я же пересел на YiiBooster таки, переписал шаблоны как мне надо и запустил... щя осталось только chosen привинтить и на Dynotree skin сделать
Есть у него пара косяков, но до issue трэкера еще не добрался... например extended grid - включаем history и fixed header и поиск перестает работать в таблице...
А так очень нравиться решения искаропки, кроме Redactor.js - я сейчас CKeditor 4 beta везде юзаю + делаю виджеты на его основе для инлайн редактирования... получается очень няшно...
Те, кому показываю, пищат =)))
 

Redjik

Джедай-мастер
Обязательно покажу, но сначала доделаю некоторые вещи, поправлю баги и дождусь rc версии CKeditor
 
Сверху