<?php
echo "<table class=\"table table-hover table-bordered\">";
echo "<thead>";
echo "<tr>";
$result=mysqli_query($con,"SELECT day FROM time_slot ORDER BY day;");
while($row=mysqli_fetch_array($result))
{
$days = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
$day = $row['day']-1;
$day = $days[$day];
echo '<th>';
echo $day;
echo '</th>';
}
echo "</tr>";
echo "</thead>";
require('../includes/connection.php');
$result=mysqli_query($con,"SELECT * FROM time_slot ORDER BY day DESC;");
while($row=mysqli_fetch_array($result))
{
echo "<tbody>";
echo "<tr>";
这部分数据应相对于日期垂直显示在表格中
//This code to split time into intervals
$starttime = $row['start_time']; // your start time
$endtime = $row['end_time']; // End time
$duration = $row['slot_time'];
$array_of_time = array ();
$start_time = strtotime ($starttime); //change to strtotime
$end_time = strtotime ($endtime); //change to strtotime
$add_mins = $duration * 60;
while ($start_time <= $end_time) // loop between time
{
echo '<td>';
echo "<div align=\"center\">";
print_r(date ("h:i", $start_time) ."-". date("h:i", $start_time += $add_mins));
//
echo "</br><input type=\"radio\" name=\"texi\" value=\"1\" ></input>";
echo '</td>' ;
echo '</div>';
}
echo "</tr>";
echo "</tbody>";
}
mysqli_close($con);
echo "</table>
</div>
<input type=\"submit\" value=\"Book Slot\" class=\"button_drop\">
</form>";
?>
我希望相对于表格中的日期垂直显示时间段。 这是此代码的输出:
但是我希望显示水平显示的时间,应该垂直显示。例如。第一行的1-3,3-5,5-7应该在星期一下面显示,然后下一行应该在星期二下面显示,依此类推。
答案 0 :(得分:1)
尝试使用如下查询:
SELECT day FROM time_slot ORDER BY time_slot, day;
这应该使数据更容易处理。我无法看到您确切的数据结构,但看起来您应该得到7x 01:00-03:00
,然后是7x 03:00-05:00
等。每一组都应该按天排序。然后,您可以按照数据来自数据库的顺序写出<td>
。跟踪day
值何时更改(或最多只计数7)并在此时开始新的<tr>
。