За последние 24 часа нас посетили 17509 программистов и 1728 роботов. Сейчас ищут 1059 программистов ...

После каждых 10 строк вывод циклом новой!

Тема в разделе "Прочие вопросы по PHP", создана пользователем gtr3426, 27 янв 2015.

  1. gtr3426

    gtr3426 Новичок

    С нами с:
    18 ноя 2014
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток!Возникла такая проблемка:
    Имеется форма для ввода данных которая генерируется в результате запроса
    Код (Text):
    1. while($data = @mysql_fetch_array($result)){
    .Нужно сделать так что-бы после каждых 10 инпутов выводился ещё один (в нём предполагаеться выводить сумму введенных 10 элементов, но это уже другой вопрос). В коде сделано простейшее условие (у каждого инпута есть номер начиная с единицы и если оно делиться на 10 без остатка то выводиться нужная строка) но это работает только с количеством кратным 10.Вот теперь вопрос как сделать так что-бы после последних инпутов тоже выводилась такая строка.

    Например так:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Сумма:
    11
    12
    13
    Сумма:

    Заранее благодарен за любую помощь)

    Мой фрагмент кода:
    Код (Text):
    1.  
    2. <?php
    3.     while($data = @mysql_fetch_array($result)){
    4.         $ten = $sc / 10;
    5.         echo '<tr>';
    6.         echo '<td><label  name="lab['.$data['nk'].']">'.$data['nk'].'</label></td>';
    7.         echo '<td><input class="prices'.$sc.'" type="text" name="inp['.$data['nk'].']" maxlength="4" keypress="do_math(this.form)"></td>';
    8.         echo '</tr>';
    9.         if (is_int($ten) == true) {
    10.         echo '<tr><td>сумма:</td><td><input type="text" name="r"></td></tr>';
    11.         }
    12.         echo '<script language="JavaScript" type="text/javascript">';
    13.         echo 'document.querySelector(\'.prices'.$sc.'\').onkeyup = function(e) {';
    14.             echo 'if (e.target.value.length == 1) {';
    15.             echo 'e.target.value += \'.\';';
    16.             echo '}';
    17.         echo '};';
    18.         echo '</script>';
    19.         echo '<script language="JavaScript" type="text/javascript">';
    20.         echo '$(document).ready(function(){';
    21.         echo '$(\'.prices'.$sc.'\').keypress(function(e) {';
    22.         echo 'if (!(e.which==8 || e.which==44 ||e.which==45 ||e.which==46 ||(e.which>47 && e.which<58))) return false;';
    23.         echo '});';
    24.         echo '});';
    25.         echo '</script>';      
    26.         $sc++;
    27.         }
    28. ?>
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    кратность обычно проверяют через операцию "остаток от деления":
    Код (PHP):
    1. if ($i++ % 10 == 0) { 
    2.   // делаем что-то один раз на десять случаев
    3. }
    [ внезапно! ] просто выведи такую же строку после цикла.
    если текста много, оформи вывод как функцию или подключай через include.