2017-11-22 4 views
0

データ配列 を受け入れる関数を作成しましたが、既に表示されている日付のテーブルを作成することでこのHMTLを返したい foreachはHTMLを表示しませんどんなエラーでもない。この関数は配列データを表示するテーブルを返すことができます

私の質問です:どのように私はこの関数は、配列のデータを表示するテーブルを返すことができますか?

My機能:

<?php 

function GetTableResult($arrayData) { 

    return "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer DTTT_selectable' role='grid' aria-describedby='dynamic-table_info'> 
      <thead> 
      <tr> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Name</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Procedure</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Provider Name</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Bravery</th>           
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Coparticipation</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Type</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date Reference`enter code here`</th> 
      </tr> 
      </thead> 
      <tbody>"; 
      foreach($arrayData as $data){ 
      "<tr id='Grid_Linha_1' class='odd' role='row'> 
       <td class = 'hidden-480'>" . $data['date']    . "</td> 
       <td class = 'hidden-480'>" . $data['name']    . "</td> 
       <td class = 'hidden-480'>" . $data['procedure']  . "</td> 
       <td class = 'hidden-480'>" . $data['provider_name'] . "</td> 
       <td class = 'hidden-480'>" . $data['bravery']   . "</td> 
       <td class = 'hidden-480'>" . $data['coparticipation' . "</td> 
       <td class = 'hidden-480'>" . $data['type']    . "</td> 
       <td class = 'hidden-480'>" . $data['date_reference'] . "</td> 
      </tr>"; 
      } 
      "</tbody> 
     </table>"; 
} 
+0

あなたは 'return'何かが、それは行かなければならない場合どこかに。次に例を示します。 '$ myArray = array(); $ result = GetTableResult($ myArray); '関数の出力は変数' $ result'に返されます。あなたは 'echo $ result;'と答えることができます。 – icecub

+0

あなたは共感の後に括弧を忘れていて、値を返す代わりにエコーを試みます。それはそれを解決するはずです。 –

答えて

1

これは簡単な例ですが、要点を取得する必要があります:

<?php 

function GetTableResult($arrayData) { 
    $table = '<table>'; 

    foreach($arrayData as $data) { 
     $table .= "<tr id='Grid_Linha_1' class='odd' role='row'> 
       <td class = 'hidden-480'>${data['date']}</td> 
       ... 
      </tr>"; 
    } 
    $table .= '</table>'; 

    return $table; 
} 

echo GetTableResult([ 
    ['date' => '2017-11-22'], 
    ['date' => '2017-11-23'], 
]); 

点を追加し、変数($table)に生成されたHTMLを格納することです文字列($table .= ...)を使用し、文字列内に${data['field_name']}を使用して変数値を挿入します。

こちらがお役に立てば幸いです。

ちょうど一般的なアドバイス:複雑なHTMLを手動で生成することは苦しいプロセスです。私は痛みを和らげるためにTwigのようなテンプレートエンジンを見ておくことをお勧めします:)。

+0

thanks guy @jeromegamez あなたの答えは問題を解決しました! 私は、プロジェクトが本当に小さいので、Twigなどを使用していません! – IgorDuarte

0

私のコメントで言ったような解決策です。あなたは大括弧を欠いていて、戻ってくる代わりにそれをエコーアウトしようとしています。

<?php 

$arrayData = array(
     array(

     "date" => "1/1/10", 

     "name" => "peterparker", 
    ), 
    array(

     "name" => "Clark Kent", 

     "date" => "2/10/27", 
    ), 
); 
function GetTableResult($arrayData) { 
    echo "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer DTTT_selectable' role='grid' aria-describedby='dynamic-table_info'> 
      <thead> 
      <tr> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date</th> 
       <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Name</th> 

      </tr> 
      </thead> 
      <tbody>"; 
      foreach($arrayData as $data){ 
       echo "<tr id='Grid_Linha_1' class='odd' role='row'> 
       <td class = 'hidden-480'>" . $data['date']    . "</td> 
       <td class = 'hidden-480'>" . $data['name']    . "</td> 

      </tr>"; 
      } 

      echo "</tbody> 
     </table>"; 
} 

GetTableResult($arrayData); 

出力:

日名

1/1/10 peterparker

2/10/27クラーク・ケント

関連する問題