Счетчик

Тема в разделе "PHP", создана пользователем Rigor, 27 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Есть код:

    Код:
    while (...) {
    //много кода, запросов к базе и т.д.
    
    Echo $i;
    }
    
    Мне нужно, что бы вывод переменной $i происходил как счетчик. Т.е. как все в данном заходе цикла выполнится, выводит 1. В следующем заходе 1 исчезает и уже 2. Как это сделать? Заранее спасибо
     
  2. agent_smit

    agent_smit Постоялец

    Регистр.:
    12 дек 2008
    Сообщения:
    60
    Симпатии:
    11
    Ничего не понятно что тебе надо вывести? Подробней распиши.
    (например: У меня есть функция которая вызывается несколько раз....... )

    и не Echo, а echo
     
  3. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    Если это счетчик:
    если в таблице, где записывается заход есть поле с датой (unix timestamp)
    $from = mktime( 0, 0, 0, date("m"), date("d"), date("Y"));
    $to = mktime(23, 59, 59, date("m"), date("d"), date("Y"));
    SELECT count(*) as cnt FROM table WHERE DATE BETWEEN $from AND $to
    результатом выполнения запроса и будет $i
    под другие варианты записи даты нужно просто адаптировать запрос

    Если выводить нужно счетчик каждого цикла тогда в конце цикла:
    $i++;
    echo $i;
    или проще
    echo ++$i;
     
  4. pslava

    pslava

    Регистр.:
    16 май 2007
    Сообщения:
    618
    Симпатии:
    122
    Если тебе нужно чтобы выводило каждый раз счетчик цыкла, делай так:
    PHP:
    $i 0;
    while (...) {
    $i++;
    //много кода, запросов к базе и т.д.
    Echo $i;
    }
     
  5. Anton1о

    Anton1о Создатель

    Регистр.:
    12 июн 2008
    Сообщения:
    26
    Симпатии:
    13
    В конце цикла просто увеличивай параметр
    PHP:
    Тут вытаскиваешь значение i из базы
    echo $i;
    $i++;
    Тут запрос к базе записывающий параметр в таблицу
    Всё это в конце твоего цикла. Как-то так. Если нет, поправьте, сам только изучаю.
     
  6. agent_smit

    agent_smit Постоялец

    Регистр.:
    12 дек 2008
    Сообщения:
    60
    Симпатии:
    11
    ну тогда
    PHP:
    satic $i 0;
    while (...) {
    $i++;
    //много кода, запросов к базе и т.д.
    echo $i;
    }
     
  7. krivov

    krivov Постоялец

    Регистр.:
    24 дек 2007
    Сообщения:
    142
    Симпатии:
    19
    неее, помоему Rigor имел ввиду именно как вывести число 1, чтобы когда счётчик скинулся на 2 число это тоже изменилось
     
  8. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    236
    Симпатии:
    60
    подобная тема уже обсуждалась
    http://www.nulled.ws/showthread.php?t=118017
    вот немного измененый вариант, приближенный к этой задаче
    PHP:
    <html> 
    <body> 
    <div id='test'>Начнем?</div> 
    </body> 
    </html> 
    <script type="text/javascript"> 
    var testdiv = document.getElementById('test'); 
    </script> 
    <? 
    set_time_limit(0); 

    $i = 1;
    while($i <= 10) 
        { 
        echo "<script type=\"text/javascript\"> 
            testdiv.innerHTML = \"Сейчас выполняется итерация №".$i.".\"; 
            </script>"; 
        $i++;    
        flush(); 
        sleep(1); // имитация долговыполняющихся действий
        } 
    echo "<script type=\"text/javascript\"> 
            testdiv.innerHTML = \"Цикл завершен.\"; 
            </script>"; 
    ?>
     
Статус темы:
Закрыта.