Skip to content

Instantly share code, notes, and snippets.

@otarza
Created November 19, 2014 20:15
Show Gist options
  • Save otarza/28ff6e37e4911dff0652 to your computer and use it in GitHub Desktop.
Save otarza/28ff6e37e4911dff0652 to your computer and use it in GitHub Desktop.
Simple php calendar template using html table and 2 dimencional array
<?php
$calendar = array(
10 => array(
1 => array(),
2 => array(),
3 => array(
"start_time" => 10,
"end_time" => 12,
"title" => "Cool Event"
),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
11 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(
"start_time" => 11,
"end_time" => 13,
"title" => "Cool Event"
),
5 => array(),
6 => array(),
7 => array(),
),
12 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
13 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(
"start_time" => 13,
"end_time" => 17,
"title" => "Cool Event"
),
5 => array(),
6 => array(),
7 => array(),
),
14 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(
"start_time" => 14,
"end_time" => 17,
"title" => "Cool Event"
),
6 => array(),
7 => array(),
),
15 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
16 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
17 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
18 => array(
1 => array(),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array(),
),
);
?>
<html>
<head>
<title></title>
<style type="text/css">
td {
border: solid 1px black;
}
</style>
</head>
<body>
<table>
<?php foreach ($calendar as $hour_key => $hour): ?>
<tr>
<?php foreach ($hour as $day_kay => $day): ?>
<?php if(!empty($day) && $day != "skip"): ?>
<?php
$duration = $day['end_time'] - $day['start_time'];
if($duration > 1) {
for($i = 1; $i < $duration; $i++){
$calendar[$day['start_time'] + $i][$day_kay] = "skip";
}
}
?>
<td rowspan="<?php print $duration; ?>">
<?php print $duration; ?>
</td>
<?php else: ?>
<?php if($calendar[$hour_key][$day_kay] == "skip") {
continue;
} else {
print '<td> No </td>';
}
?>
<?php endif; ?>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment