За последние 24 часа нас посетили 26787 программистов и 1482 робота. Сейчас ищет 951 программист ...

значение переменной при выполнении (отладка for)

Тема в разделе "PHP для новичков", создана пользователем Slavka, 4 дек 2016.

  1. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    Сижу и думаю - у меня выполняется обработка базы - а как бы сделать так чтобы во время обработки на экран выдавалось текущее значение переменной
    вариант с echo $i отметаем сразу ибо это убьет браузер - на тестах милион записей - планируется гораздо больше.
    какие есть еще варианты ?
    как удобно было в делфе
    lavel1.caption = i ( забыл уж как там переменные писать =)
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Никак. Вы мыслите, как в Delphi, а здесь другая архитектура. http://phpfaq.ru/newbie/na_tanke. Но можно поднять отладчик XDEBUG, и тогда сможете трассировать программу практически как в Delphi
     
  3. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    javascript должен через ajax запускать php скрипт который будет возвращать переменные в ajax, а там javascript будет отображать его на странице
     
  4. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    мыслю то я какраз по пыховскому - поэтому и говорю что echo не подходит =)
    xdebug стоит причем по полной подключен. Но даже он не дает такого эффекта
    он покажется если делать точку остановки или просто на экран..

    об этом тоже думал
    но тут при запущеном скрипте не будет очищения страницы - и в итоге получим
    {"id":1}{"id":2}{"id":3}

    запрашивать через интервал у сервера нужные данные тоже не выдет - процесс отдельный ..

    последняя идея - делать через сессии ( и в соседнем скрипте выпиннывать на экран их) - но как известно сессии - сохраняются на серваке в текстовом виде и это постоянная перезапись негативно скажется на HDD
     
  5. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    if !($i % 100) another 100 entitys done
     
  6. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    это на каком языке было ?
     
  7. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    создайте временную табличку в мускуле, пишите туда значение
    или redis/memcached
    а в моём псевдокоде я подразумевал вывод на экран каждые 100 записей или больше
    --- Добавлено ---
    Плюс ничто не мешает выкидывать на экран что-то типа
    PHP:
    1. <div id="wow">0</div>
    2. <?php
    3. $i = 0;
    4. while(true){
    5. $i++;
    6. print '<script>document.getElementById("wow").innerHtml = "'.$i.'"</script>';
    7. }
     
    Slavka нравится это.
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.814
    Симпатии:
    1.332
    Адрес:
    Лень
    Бесконечность не сравнима с PHP
     
  9. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    я пока так и поступил =)
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Зачем писать каждое из миллионов значение $i? @Abyss разумно предлагает фиксировать каждую сотую запись, можно и еще реже.
     
  11. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    я уже предложил это выше, к чему ты это написал ? типа в примере нету ?
     
  12. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    уже так и пишется =) каждая сотая =)