所以我在php页面上生成了这个表。
除了从第11行显示的$month
放在表格标题下方而不是在它们上方之外,它在大多数情况下都生成了很好的效果。
这只发生在第一个$month
其余的人出现在正确的位置
你可以看到我在这里的意思的一个例子
这是代码
<table id="coursesTable" class="table">
<?php
foreach ($courses as $month => $courseArr) {
$previousDate = "";
$count = 1;
?>
<?php
if (!empty($courseArr)) {
echo '<tr><td><h2>' . date("F Y", strtotime($month . "/" . date("y"))) . '</h2></td></tr>';
?>
<thead>
<tr>
<th scope="col">Date</th>
<th scope="col">Location</th>
<th scope="col">Course</th>
<th scope="col">Price</th>
<th scope="col">Book/Register</th>
</tr>
</thead>
<?php
}
?>
<tbody>
<?php
foreach ($courseArr as $course) {
$date4 = isset($course->date4) ? ' & ' . date('jS g:ia', strtotime($course->date4)) . ' ' : '';
if (isset($course->date4)) {
$date3 = isset($course->date3) ? '<br> & ' . date('l F jS', strtotime($course->date3)) . ' ' : '';
} else {
$date3 = isset($course->date3) ? '<br> & ' . date('l F jS g:ia', strtotime($course->date3)) . ' ' : '';
}
$date2 = isset($course->date2) ? ' & ' . date('jS g:ia', strtotime($course->date2)) . ' ' : '';
$date = isset($course->date) ? date('l F jS', strtotime($course->date)) : date('l F jS g:ia', strtotime($course->date));
echo '<tr ' . (($count % 2 == 1) ? 'class=""' : '') . ' >';
echo '<td>' . $date . $date2 . $date3 . $date4 . '</td>';
echo '<td>' . $course->location . '</td>';
echo '<td><strong>' . $course->name . '</strong></td>';
$price = $course->price;
if ($price <= 0.00) {
echo '<td><strong>COURSE IS FULL</strong></td>';
} else {
echo '<td>' . $course->price . '</td>';
echo '<td style=""><a href="http://lifestarttraining.com/index.php/cart?quantity[' . $course->id . ']=1"><img src="../../images/book_now.png"></a></td>';
}
$count += 1;
?>
</tr>
<?php
}
?>
</tbody>
<?php
}
?>
</tbody>
</table>