如何将周的第一个和最后一个日期显示为表格的第一个元素

时间:2015-10-23 09:05:48

标签: php mysql database html-table

我想显示第一天的日期和一周的最后一天。

每一行都有一天的数据。

这是我的数据库表:

id a1 a2 a3 a a4 a5 a6 color date
1 2 6 8 45 4 9 6 black 2015-10-11
2 1 3 6 63 3 3 0 black 2015-10-12
3 1 3 6 11 4 3 6 red 2015-10-13
4 1 3 8 35 1 1 3 red 2015-10-14
5 1 1 6 11 4 3 6 black 2015-10-15
6 1 6 6 77 4 3 3 black 2015-10-16
7 2 3 6 63 4 3 1 black 2015-10-17
8 2 2 8 45 4 3 e red 2015-10-18

我想要显示这样的表:

enter image description here

为此,我创建了这段代码:

<?php
$inr=0;
$color = $query2['color'];
include('config.php');
$query1=mysql_query("select  id, a1, a2, a3, a, a4, a5, a6, color, date from addd");
echo "<table><td>".$query2['date']."</td>";
while($query2=mysql_fetch_array($query1))
{
echo "<td>".$query2['a1']."</br>";
echo "".$query2['a2']."</br>";
echo "".$query2['a3']."</td>";
echo "<td style='color:".$query2['color']."'>".$query2['a']."</br><a href='edit.php?id=".$query2['id']."'>e</a>|<a href='delete.php?id=".$query2['id']."'>x</a></td>";
echo "<td>".$query2['a4']."</br>";
echo "".$query2['a5']."</br>";
echo "".$query2['a6']."</td>";
$inr++;
if($inr%8==0)
echo "<tr><td>".$query2['date']."</td>";
}
?>

</tr></table>  

此代码工作正常,但日期的<td>没有出现在表的开头。

我得到的结果如下:

enter image description here

请帮帮我。

  1. 如何显示[日期 - 日期+ 6]
  2. 如何将[日期 - 日期+ 6]插入每周的第一个<td> </td>

1 个答案:

答案 0 :(得分:1)

您需要更改此行

$query1=mysql_query("select  id, a1, a2, a3, a, a4, a5, a6, color, date from addd");
echo "<table>";
while($query2=mysql_fetch_array($query1))
{
 $inr++;
 if($inr%8==0) {
  echo "<tr><td rowspan='8'>".$query2['date']."</td>";
 }
echo "<td>".$query2['a1']."</br>";
echo "".$query2['a2']."</br>";
echo "".$query2['a3']."</td>";
echo "<td style='color:".$query2['color']."'>".$query2['a']."</br><a href='edit.php?id=".$query2['id']."'>e</a>|<a href='delete.php?id=".$query2['id']."'>x</a></td>";
echo "<td>".$query2['a4']."</br>";
echo "".$query2['a5']."</br>";
 echo "".$query2['a6']."</td>";
}
?>

 </tr></table>

在while内部。因为你在$ query1结果中获取值之前已经使用了$ query2 ['date']