2017-05-16 8 views
1

私はこの次の形式を使用してMySQLに日付をフィールドを持っている場合日付のテーブル行に対するMySQLからの時間を挿入

<?php 

$month = "03"; 
$year = "2017"; 

$start_date = "01-".$month."-".$year; 
$start_time = strtotime($start_date); 

$end_time = strtotime("+1 month", $start_time); 

echo "<table border='1'>"; 

for($i=$start_time; $i<$end_time; $i+=86400) 
{ 
$list = date('Y-m-d-D', $i); 
echo "<tr><td>"; 
echo $list; 
echo "</td><td>** time here ** </td></tr>"; 

} 

echo "</table>"; 

?> 

2017年3月の月のすべての日付を表示します。このコードを持って

3/1/2017 6:32:12 AM 
3/12/2017 1:31:41 PM 
3/13/2017 2:30:12 PM 
3/17/2017 5:33:21 PM 
3/19/2017 6:32:54 PM 
3/16/2017 7:22:11 PM 
3/21/2017 10:12:41 PM 

どのように私は

+3

* "次の形式のmysqlに日付フィールドがある場合" * - それは良い考えではありません。 MySQLの組み込み日時機能を使用する必要があります。あなたは後で質問するのが難しくなります。*私を信じてください*。 –

+0

はいありがとうございます。後で変更します。 – sabahan

答えて

0

上記の表のそれのそれぞれの日に上記時刻を挿入します。このお試しください:

///Your mysql data 
    $data = array(
     '3/1/2017 6:32:12 AM', 
     '3/12/2017 1:31:41 PM', 
     '3/13/2017 2:30:12 PM', 
     '3/17/2017 5:33:21 PM', 
     '3/19/2017 6:32:54 PM', 
     '3/16/2017 7:22:11 PM', 
     '3/21/2017 10:12:41 PM' 
     ); 


     $month = "03"; 
     $year = "2017"; 

     $start_date = "01-".$month."-".$year; 
     $start_time = strtotime($start_date); 

     $end_time = strtotime("+1 month", $start_time); 

     echo "<table border='1'>"; 

     for($i=$start_time; $i<$end_time; $i+=86400) 
     { 

     $times = getTime($i, $data); 

     $list = date('Y-m-d-D', $i); 
     echo "<tr><td>"; 
     echo $list; 
     echo "</td><td>".implode(",", $times)."</td></tr>"; 

     } 

     echo "</table>"; 



     function getTime($start_time, $data){ 
      $time_arr = array(); 
      foreach ($data as $d) { 
       $r = date('Y-m-d', strtotime($d)); 
       if($r == date('Y-m-d', $start_time)){ 
        $time_arr[] = date('H:i:s A', strtotime($d)); 
       } 
      } 
      return $time_arr; 
     } 
+0

ありがとうございます。 – sabahan

関連する問題