2015-08-03 3 views
0

Я структуры данных, как показано нижеLooping вопрос в Tinybutstrong

Array 
(
    [0] => Array 
     (
      [name] => dummy0 
      [projects] => Array 
       (
        [project_names] => project0 
        [dates] => Array 
         (
          [0] => 5 
          [1] => 11 
          [2] => 28 
         ) 

       ) 

     ) 

    [1] => Array 
     (
      [name] => dummy1 
      [projects] => Array 
       (
        [project_names] => project1 
        [dates] => Array 
         (
          [0] => 10 
          [1] => 12 
          [2] => 28 
         ) 

       ) 

     ) 

) 

I'ld хотел, чтобы получить выход в следующем формате

dummy0

Project0 
    5 
    11 
    28 

dummy1

Project1 
    10 
    12 
    28 

Я использовал ниже фрагмент кода, но не получил в oupput, как я освобожденный

    [replies;block=begin;sub1=projects] 

         [replies_sub1.val;block=tr;sub1=dates] 
         [replies_sub1_sub1.val;block=td] 

        [replies;block=end;comm=text:p] 

Любой вид помощи будет оценено

ответ

0

Проблема заключается в том, что ваши суб-данные dates фактически находится под 2-х уровнях столбцов: проекты/даты. И TBS не поддерживает такую ​​структуру данных для автоматического подблока.

Решение изменить структуру данных для того, чтобы это так:

(
    [0] => Array 
     (
      [name] => dummy0 
      [dates] => Array 
       (
        [0] => 5 
        [1] => 11 
        [2] => 28 
       ) 
      .... 
     ) 
    ....  

Если вы не можете изменить структуру, вы можете просто использовать параметр ondata с пользовательской функцией, которая создаст новый (виртуальный) в ваших данных.

PHP:

function f_ondata($BlockName,&$CurrRec,$RecNum) { 
    $CurrRec['dates_z'] = $CurrRec['projects']['dates']; 
} 

HTML:

<div style="border: solid 1px red;"> 

    [replies;block=begin;sub1=dates_z;ondata=f_ondata] 

    <table border="1"> 

     <tr>     
     <td> 
      [replies.projects.project_names] 
     </td> 
     <td>&nbsp;</td> 
     </tr> 

     <tr>     
     <td>&nbsp;</td> 
     <td> 
      [replies_sub1.val;block=tr] 
     </td> 
     </tr> 

    </table> 

    <text:p> [replies;block=end;comm=text:p] </text:p> 
<div>