Простой календарь - дни + часы - PullRequest
1 голос
/ 22 декабря 2011
$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

Теперь это плохо работает. Я хотел бы создать простой календарь. Для меня это породило много часов за один день. Спасибо за помощь!

Edit: Если это просто, я могу использовать только один цикл - с часами - без $ столбцов. но как я могу это сделать?

Я хотел бы получить:

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

с $ datetime-> format ('Ymd H: i: s') :) Я не знаю, как показать столбцы - сверху вниз, а не слева направо

1 Ответ

2 голосов
/ 22 декабря 2011
<?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

...