За последние 24 часа нас посетили 74182 программиста и 10165 роботов. Сейчас ищут 2483 программиста ...

Вывод данных массива изменяемой длины (в цикле) в качестве заголовков столбцов в html(Excel)

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

  1. Curious

    Curious Новичок

    С нами с:
    18 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Возникла необходимость оптимизировать ранее написанную нашим бывшим коллегой задачу, данные для которой берутся из БД ORACLE. Я, как администратор БД, с PHP на "Вы" и специалистов по PHP у нас нет. Поэтому прошу вашей помощи. Для наглядности привожу часть программы, в которой пытаюсь решить эту проблему.
    Код (Text):
    1. <tr height=25 style='height:18.75pt'>
    2. <td height=25 class=xl27 style='height:18.75pt'>&nbsp;</td>
    3. </tr>
    4.  
    5. <?  $sql="select KOD_PODRAZ from S_PODRAZ"; // количество подразделений - в каждом ТПП своё количество
    6.     $s = OCIParse($c, $sql);
    7.     OCIExecute($s, OCI_DEFAULT);
    8.     while (OCIFetch($s)) { $arr_nomcex[] = ociresult($s, 1);}  
    9.     // заполняем заголовки столбцов (1, 2, 3, 4, 5, 6...11  -  данные, которые выбраны в $sql)
    10.    for ($i = 0; $i< count($arr_nomcex); $i++) {
    11. ?>
    12.  
    13. <? // if ($i==0) { ?>
    14. <tr >               <!--    начало строки выводимых наименований столбцов в HTML(Excel) файле   -->
    15.   <td class=xl30 x:num><? echo $arr_nomcex[$i]; ?></td>
    16. <?  //           }  ?>  
    17.  
    18. <?  if ($i>=count($arr_nomcex)) { ?>
    19.   <td class=xl30>ТПП</td>
    20.   <td class=xl30>АИК+ТПП</td>
    21. <?             }  ?>
    22. </tr>               <!--    окончание строки выводимых наименований столбцов в HTML(Excel) файле   -->
    23. <?             }  ?>
    Ранее не выбиралось количество подразделений (kod_podraz), и поэтому при добавлении нового или удалении цеха приходилось нам каждый раз менять это в php-скрипте. Есть ли такая возможность избежать таких изменений? Результат этого изменённого кусочка в программе неверный:
    Посмотреть вложение 75

    Правильный результат, как было ранее, должен быть следующий:
    Посмотреть вложение 76

    Очень надеюсь, что есть какое-нибудь решение. Спасибо.
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.599
    Симпатии:
    206
    Чет либо я еще не проснулся, либо вообще ничего не понял
     
    denis01 нравится это.
  3. Curious

    Curious Новичок

    С нами с:
    18 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Всё уже получилось! Строку открывала (<tr >) и закрывала (</tr>) внутри цикла for. А нужно было открыть строку перед циклом и закрыть после. И тогда данные располагаются так, как нужно, т.е. прав_решение.png . Пока писала повторно - разглядела, что было не так. :D. Спасибо. что подтолкнули к пересмотру написанного. :)
     
  4. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.599
    Симпатии:
    206
    Во, нормуль :)