2017-11-30 20 views
1
<input type = "date" name = "myDate" onchange = ""> //this is input date 

の変更には、ユーザは、それが特定の日付に基づいて変更する方法上記の日付 に基づいて変更したい日付を選び、私を助けてください.. !CodeIgniterの-PHP:どのようにテーブルの週の日付を変更するには、入力日付

<table class="table table-bordered" id="thbg"> 

<thead><td></td> 

<th>Project</th> 

<th>Activity</th> 

<th>Bill Type</th> 

<?php 

$day = "1"; 
$month = "11"; 
$year = "2017"; 

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

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

for($i=$start_time; $i<$end_time; $i+=86400) 
{ 
    print '<th align="center"> '. date("m-d-Y l", $i). '</th>'; 
} 
?> 
<th>Hours</th>  
</thead> 
</table> 

また、出力にも間違った日付が入ります。私は誰もが解決策を提案することができる時間

this is my wrong output

で2回の日曜日を取得していますか?それは夏時間であったため

+1

だけコメントを動作するはずDateTimeクラスを使用することです技術的に無効です。あなたの '​​'と ''の全てに ''があるべきです。つまり、テーブルセルはテーブル行内になければなりません。それ自体は ''または ' 'の範囲内でなければなりません。 '

'要素。 – ADyson

+0

yaa

でコードを変更しましたが、これは私の解決策ではありません –

+0

私はそれが理由ではないことを知っています:-) – ADyson

答えて

1

ないあなたがここに実現しようとするのかわからなく、より良いオプションは、そのような

何かが

$day = "1"; 
$month = "11"; 
$year = "2017"; 
$objDateStart = DateTimeImmutable::createFromFormat('j-m-Y', $day."-".$month."-".$year); 
$objDateEnd = $objDateStart->modify('+1 week'); 

$objDateRange = new DatePeriod($objDateStart, new DateInterval('P1D'), $objDateEnd); 
foreach($objDateRange as $objDate) 
{ 
    echo '<th align="center"> '. $objDate->format("m-d-Y l"). '</th>'; 
} 
+0

ありがとうございますそれは完璧に動作しています...! –

0
As it is i have executed your code, i am getting proper output without any repeated values. 

echo "<table><thead> 

     <th>Project</th> 

     <th>Activity</th> 

     <th>Bill Type</th>"; 


     $day = "1"; 
     $month = "11"; 
     $year = "2017"; 

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

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

     for($i=$start_time; $i<$end_time; $i+=86400) 
     { 
      print '<th align="center"> '. date("m-d-Y l", $i). '</th>'; 
     } 
     echo "<th>Hours</th> 
     </thead>"; 
+0

しかし、iamはこのようになっています:11-01-2017 Wednesday \t 11- 02-2017木曜日\t 11-03-2017金曜日\t 11-04-2017土曜日\t 11-05-2017日曜日\t 11-05-2017日曜日\t 11-06-2017月曜日\t 11-07-2017火曜日 –

+0

私は2つを持っています日曜日に一度に –

+0

可能であれば、完全なコードを投稿しようとしてください...そして、我々は間違いを見つけることができます。現時点では、うまく動作しているコードを投稿しています。私のコードを試してみましたか? –

0

dateコマンドは、11月5日を繰り返していると、それが00:00:00に時間を切り捨てています。

代わりにdatetimeオブジェクトを使用してみてください。

これは、日付範囲をループした回答です。あなたのHTMLがある -

https://stackoverflow.com/a/29765247/3585500

関連する問題