2016-10-27 8 views
1

私は現在、データベーステーブルから日付を取得することに問題があるページで作業しています。SQLからのPHPの表示日付

私はdatetime列のための独自の配列を持っているようです。私のデータベースの

ますprint_r:

 $projwebt = $viewmanager->getViewPageProjwebtProjekte(); 
     echo "<pre>"; 
     print_r($projwebt); 
     echo "</pre>"; 

が出力:

 Array 
     (
     [0] => viewPageProjwebtProjekte Object 
     (
     [id] => 1 
     [projectnumber] => 1 
     [name] => Title 
     [progress] => 37 
     [status] => 1 
     [responsible] => user 
     [customer] => user 
     [definition] => 1 
     [effort] => 15 
     [priority] => 12 
     [startdate] => DateTime Object 
      (
       [date] => 2016-11-25 00:00:00.000000 
       [timezone_type] => 3 
       [timezone] => Europe/Belgrade 
      ) 

     [targetdate] => DateTime Object 
      (
       [date] => 2017-08-31 00:00:00.000000 
       [timezone_type] => 3 
       [timezone] => Europe/Belgrade 
      ) 
正常に動作します

 <?php 
     foreach ($projwebt as $projobject) 
     { 
     ?> 
      <tr class="<?=$projobject->status?>"> 
       <th colspan="2"><h2><a href="#"><?=$projobject->name?></a></h2></th> 
       <th colspan="2"><h2><?=$projobject->definition?></h2></th> 
       <th colspan="2"><h2><?=$projobject->progress?>%</h2></th> 
      </tr> 
     <?php 
     } 
     ?> 

ここでは理由STARTDATEの、壊れます

  <tr> 
       <td class="responsible">Zuständig:</td> 
       <td class="responsibleName"><?=$projobject->responsible?></td> 
       <td class="effort">Aufwand:</td> 
       <td><?=$projobject->effort?> MT</td> 
       <td class="start">Start:</td> 
       <td class="startDate"><?=$projobject->startdate?></td> 
      </tr> 

DataMapperの:

  $pageProjwebtProjekte->startdate = $row['startdate']; 
      $pageProjwebtProjekte->targetdate = $row['targetdate']; 

viewmanager:

  $viewPageProjwebtProjekte->startdate = $value->startdate; 
      $viewPageProjwebtProjekte->targetdate = $value->targetdate; 

私はそれが壊れる(オブジェクト指向)を表示する日付を選択

配列startdate/targetdateのdate要素を選択する方法はありますか? 私のクラス(viewmanager/mapper ...)で設定する必要があるのは何ですか?

定義や努力などを表示しようとすると問題はありません。

ありがとうございました!

+1

'<=' < 'のためのPHP echo'速記と完全に有効 – junkfoodjunkie

+0

は、(formatメソッドを使用してみてくださいされる)http://php.net/:??あなたがここにドキュメントを参照してくださいすることができます echo $projobject->startDate->format('Y-m-d');

マニュアル/ ja/datetime.format.php –

+0

あなたのコードはdatetimeをデータベースからphpの 'DateTime'オブジェクトに変換しています。それは自動的には起こりません。自分でやっていますし、 'format()'メソッドを使って値をフォーマットすることができます。 – jeroen

答えて

3

通常の配列ではなく、DateTimeオブジェクトがあります。

<?= $startdate = $projobject->startdate->format('Y-m-d'); ?>

+0

これはまさに私の問題の解決策でした、ありがとう! は、そのことを覚えておいてください。 –

関連する問題