2017-05-23 1 views
1

データを追加するときは、dd-mm-yyyyの形式で入力しますが、データベースにはyyyy-mm-ddと表示されます。これは問題ではありませんが、そのデータを私のウェブサイトに戻すときには、日付をdd-mm-yyyy形式で表示したいと考えています。データをデータテーブルに表示する。私は現在使用しているコードは次のとおりです。PHPテーブルの日付の表示方法を変更する

while ($myrow = mysqli_fetch_array($result)): 

$username = $myrow["username"]; 
$date  = $myrow["date"]; 
$returned = $myrow["returned"]; 

$table = '<tr>'; 

if ($returned == 'Yes'){ 
     $table.= '<td><div style="color: green;">'.$username.'</div>'; 
    } else if ($date < date("Y-m-d")) { 
     $table.= '<td><div style="color: red;">'.$username.'</div>'; 
    } else{ 
     $table.= '<td><div style="color: blue;">'.$username.'</div>'; 
    } 

if ($returned == 'Yes'){ 
     $table.= '<td><div style="color: green;">'.$date.'</div>'; 
    } else if ($date < date("Y-m-d")) { 
     $table.= '<td><div style="color: red;">'.$date.'</div>'; 
    } else{ 
     $table.= '<td><div style="color: blue;">'.$date.'</div>'; 
    } 

if ($returned == 'Yes'){ 
     $table.= '<td><div style="color: green;">'.$returned.'</div>'; 
    } else if ($date < date("Y-m-d")) { 
     $table.= '<td><div style="color: red;">'.$returned.'</div>'; 
    } else{ 
     $table.= '<td><div style="color: blue;">'.$returned.'</div>'; 
    } 

echo $table; 
endwhile; 

データベースから通じ持ち込まれている全てのデータは、日付形式を変更するには欠けているものをイムのと同じくらい好奇心など完璧に取り組んでいます。

ご協力いただきまして誠にありがとうございます。

+0

日付( '希望の形式を、こともD-M-Y'、のstrtotime($日付)); – clearshot66

+0

何を試しましたか? [日付機能](http://php.net/manual/en/function.date.php)と[strtotime](http://php.net/manual/en/function.strtotime)の組み合わせを使用することができます.php)、または[DateTimeクラス](http://php.net/manual/en/class.datetime.php)を使用することができます。 – aynber

+0

@aynberは現在日付を取得しています( 'd-m-Y'、strtotime($ date)); whileループ内では何も変わっていません – Mucca019

答えて

1
while ($myrow = mysqli_fetch_array($result)): 

    $username = $myrow["username"]; 
    $date  = $myrow["date"]; 
    $returned = $myrow["returned"]; 
    $color; 

    $formattedDate = date("d-m-Y", strtotime($myrow["date"])); 

    $table = '<tr>'; 

    if ($returned == 'Yes'){ 
      $color = "green"; 
     } else if ($date < date("Y-m-d")) { 
      $color = "red"; 
     } else{ 
      $color = "blue"; 
     } 


     $table.= '<td><div style="color: '.$color.';">'.$username.'</div></td>'; 
     $table.= '<td><div style="color: '.$color.';">'.$formattedDate.'</div></td>' 
     $table.= '<td><div style="color: '.$color.';">'.$returned.'</div></td>'; 


    $table .= '<tr>'; 

    echo $table; 
endwhile; 
+0

ええ、私は今何を持っているthatsも、整頓のためのおかげで – Mucca019

0

さて、実際には日付の書式を変更する必要があります。

最も簡単な方法は、日付をタイムスタンプに変換し、date関数を使用して、希望の形式で日付を表示することです。 strtotime関数を使用してタイムスタンプにすることができ、dateには多くの表示オプションがあります。

1

あなたは日付の書式を変更するには、次を使用することができます。

$formattedDate = date("d-m-Y", strtotime($myrow["date"])); 

代わりに、あなたの$の日付変数を使用しての、

+0

thats working、cheers – Mucca019

+0

さらに日付変換が必要な場合は、[DateTime](http://php.net/manual/en/book.datetime.php)を参照してください:-) – jrn

0

ストレートfrom the PHP documentation

D - 月の日、先行ゼロと2桁 - 01
M 31 - 先行ゼロを持つ月の数値表現、 - 01 Y
〜12 - 年の完全な数値表現、4数字 - 1999年または2003年

あなたはあなたが何をしようとしているかのように何かをするかもしれません。

$time = strtotime($timefromdb); 
$formatted = date("d/m/Y", $time); 

ドキュメントを読むと、この種のことについては非常に幅広いオプションが提供されます。

0

PHPで変更したくない場合は、MySQLクエリでもそれを管理できます。クエリ更新:

Select username,DATE_FORMAT(date,'%m-%d-%Y') as date,returned from TABLE..... 
関連する問題