2011-12-22 5 views
1
$columns = array('mon','thu','wed','tue', 'fri', 'sat', 'sun'); 
$num_cols = count($columns); 
echo "<table>"; 
echo "<tr>"; 
foreach($columns as $col) 
{ 
    echo "<td>$col</td>"; 
    for($i=1;$i<20;$i++) 
{ 
    echo "<tr>"; 
    $datetime = new DateTime(); 
    for($j=0;$j<$num_cols;$j++){ 
     $datetime->modify('+30 minutes'); 

     echo '<td>' . $datetime->format('H:i:s') . '</td>'; 
    } 

    echo "</tr>"; 
} 
} 
echo "</tr>"; 

echo "</table>"; 

どのように私はこれを変更することができます。シンプルカレンダー - 日+時間

mon  | thu  etc 
10:10:10 | 10:10:10 
10:40:10 | 10:40:10 
11:10:10 | 11:10:10 
etc 

今、この悪い作業。私は簡単なカレンダーを作成したいと思います。これは私のために何時間にもわたって生成されました。 助けてくれてありがとう!

編集: これは単純に、1つのループを - 時間で - $列なしで使用できます。どうすれば作れるの?トップから - :)私は、これは、列で表示することができます方法を知ってはいけない

10:10:10 | 10:10:10 etc 
10:40:10 | 10:40:10 
11:10:10 | 11:10:10 
etc 

$ datetime->形式で(さんはYmd H:::I ')私は受け取りたい

ダウンに、あなたはDOMを変更しない場合は、右

+0

に残っていないから、あなたはあなたのロジックを変更して、このテーブルを生成する必要があります行ごとではなく列ごとに表示されます。 - 時間ではなく、繰り返します。 – Smamatti

+0

あなたの質問をもっと誠実に説明できますか? – RageZ

+0

@Smamattiどうすれば作れますか?私に例を挙げてください:) –

答えて

2
<?php 

$columns = array('mon','thu','wed','tue', 'fri', 'sat', 'sun'); 
$num_cols = count($columns); 
$col = 0; 
$datetime = new DateTime(); 

echo "<table>"; // border=\"1\" for visible border 

// Day header 
echo "<tr>"; 
foreach($columns as $col) { 
    echo "<td>$col</td>"; 
} 
echo "</tr>"; 


// Times 
for($i=0; $i<20; $i++) { // FIXME for more entries or other step width 
    echo "<tr>"; 
    $datetime->modify('+30 minutes'); 

    for ($j=0; $j<$num_cols; $j++) 
     echo '<td>' . $datetime->format('H:i:s') . '</td>'; 

    echo "</tr>"; 
} 

echo "</table>"; 

?> 

Output