如何使用循环来显示使用PHP的日期和时间?

时间:2015-07-26 12:36:47

标签: php loops timetable



echo "<table class='hoverTable'  cellpadding=10 border=0 align=center style='border-collapse:collapse;width:500px'><tr  style='color:#FFF;background-color:#000; font-size:20px'><td align=center>Date</td><td align=center>Time</td><td align=center colspan=2 >Status</td></tr>";
	for($k=1;$k<=7;$k++)
	{
		if($k==1)
			$day='Monday';
		else if($k==2)
			$day='Tuesday';
		else if($k==3)
			$day='Wednesday';
		else if($k==4)
			$day='Thursday';
		else if($k==5)
			$day='Friday';
		else if($k==6)
			$day='Saturday';
		else	
			$day='Sunday';
		for($i=8; $i<17;$i++)
		{
			$time="$i:00";
			$j= $time+1;
			$endtime="$j:00";

			$sql=mysqli_query($con,"SELECT * FROM (SELECT TT_ID,TT_Subject FROM timetable WHERE TT_Day='$day' and L_ID='00106') AS TAB_1, (SELECT TT_ID,TT_Subject FROM timetable WHERE TT_Time='$time' OR TT_Endtime='$endtime') AS TAB_2 WHERE TAB_1.TT_ID = TAB_2.TT_ID ");
			if(mysqli_num_rows($sql)>0)
			{
				$rows=mysqli_fetch_assoc($sql);
				$sub=$rows['TT_Subject'];
				$runsql=mysqli_query($con,"SELECT * FROM subject WHERE S_Code='$sub'");
				{
					$result=mysqli_fetch_assoc($runsql);
					$subname=$result['S_Name'];
					echo "<tr bgcolor='#F5F6CE'><td>".$day."</td><td align=center style='font-size:15px; width:100px; color:#FF0000;'>".$time." - ".$endtime."</td><td>:</td><td align='center' style='font-size:15px; height:40px; color:#FF0000;' title='Subject: $subname'  >Not Available</td>   ";             
				}
			}
			else
				echo "<tr bgcolor='#F5F6CE'><td>".$day."</td><td align=center style='font-size:15px; width:100px; color: #0000FF;'>".$time." - ".$endtime."</td><td style='width:10px;'>:</td><td align='center' style='font-size:15px; height:40px;'><a href='add_timetable.php'>Available</a></td>";      
		}
		echo "</tr>";
	}
&#13;
&#13;
&#13;

我想使用循环来显示数据库中的数据。我成功显示数据,但界面不是我想要的(有颜色的表)。你能告诉我如何显示如下图所示的表格吗?

&#13;
&#13;
<?php
	echo "<table class='hoverTable'  cellpadding=10 border=0 align=center style='border-collapse:collapse;width:500px'><tr  style='color:#FFF;background-color:#000; font-size:20px'><td align=center>Date</td><td align=center>Time</td></tr>";
	for($k=1;$k<=7;$k++)
	{
		if($k==1)
			$day='Monday';
		else if($k==2)
			$day='Tuesday';
		else if($k==3)
			$day='Wednesday';
		else if($k==4)
			$day='Thursday';
		else if($k==5)
			$day='Friday';
		else if($k==6)
			$day='Saturday';
		else	
			$day='Sunday';
		

		for($i=8; $i<17;$i++)
		{
			$time="$i:00";
			$j= $time+1;
			$endtime="$j:00";
			echo "<tr bgcolor='#F5F6CE'><td>".$day."</td><td align=center style='font-size:15px; width:100px; color: #0000FF;'>".$time." - ".$endtime."</td></tr>";      
		}
	
	}
	
?>
&#13;
&#13;
&#13; enter image description here

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:2)

当然有很多方法可以解决问题。这是一个:

{{1}}

这里首先要做的是一个简单的数据库查询,而不是70个复杂的查询。然后获取数据库集并滚动它,构建与显示匹配的计划。

然后显示您的表格,首先按小时计划滚动,然后每小时滚动一次。这提供了访问计划中每个插槽所需的信息。

这种方法还允许每个时段中的多个科目,并且科目可以跨越几个小时。

这不会考虑另一个表格或休息时间段中的其他主题信息。

答案 1 :(得分:0)

您可以像这样设计的表格结构,您可以自己填写数据库相关的条目。

enter image description here     

$html = '';
$html .= "<table>";
$html .= "<tr>";
$html .= "<th>Time</th>";
$html .= "<th>Monday</th>";
$html .= "<th>Tuesday</th>";
$html .= "<th>Wednesday</th>";
$html .= "<th>Thursday</th>";
$html .= "<th>Friday</th>";
$html .= "<th>Saturday</th>";
$html .= "<th>Sunday</th>";
$html .= "</tr>";
for($i=8; $i<17;$i++){

    $html .= "<tr>";
    $html .= "<td>".$i.' - ';
    $html .= $i+1;
    $html .= "</td>";
    if($i==13){
        $html .= "<td colspan='7' align='center'> REST </td>";
    }
    else{
        $html .= "<td> </td>";
        $html .= "<td> </td>";
        $html .= "<td> </td>";
        $html .= "<td> </td>";
        $html .= "<td> </td>";
        $html .= "<td> </td>";
        $html .= "<td> </td>";      
    }
    $html .= "</tr>";
}
$html .= '</html>';

echo $html;

答案 2 :(得分:0)

我解决了我的问题。

<?php
echo "<table class='hoverTable'  cellpadding=10 border=1 align=center style='border-collapse:collapse;width:auto'>";
echo "<tr><td width=50px>Time</td><td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>Thursday</td><td>Friday</td><td>Saturday</td><td>Sunday</td></tr>";      
for($i=8; $i<18;$i++)
{
    echo "<tr>";
    $time="$i:00";
    $j= $time+1;
    $endtime="$j:00";
    echo "<td align=center style='font-size:15px; color:#FF0000;'>".$time." - ".$endtime."</td>";

    if($time=="13:00")
    {
        echo "<td width=80px align='center' style='font-size:15px; height:40px; color:#FF0000;'>Break </td>";
    }
    else
    {
        for($k=1;$k<=7;$k++)
        {
            if($k==1)
                $day='Monday';
            else if($k==2)
                $day='Tuesday';
            else if($k==3)
                $day='Wednesday';
            else if($k==4)
                $day='Thursday';
            else if($k==5)
                $day='Friday';
            else if($k==6)
                $day='Saturday';
            else    
                $day='Sunday';

            echo "<td width=80px align='center' style='font-size:15px; height:40px; color:#FF0000;' >Available</td>";
        }
    }
    echo "</tr>";
}
?>