在日期组中显示数据库值


Displaying Database Values in Date Groups

我有一个MySQL数据库,其中有一个名为NAMES的表,如下所示:

========   ==========   ===========
date       name1        name2
========   ==========   ===========
01/01/15   nameA        nameB
01/01/15   nameC        nameD
02/01/15   nameE        nameF
03/01/15   nameG        nameH
03/01/15   nameI        nameJ
03/01/15   nameK        nameL
04/01/15   nameM        nameN

我想将这些值输出到如下表中:

==============================================
                   01/01/15
==============================================
          nameA              nameB
          nameC              nameD
==============================================
                   02/01/15
==============================================
          nameE              nameF
==============================================
                   03/01/15
==============================================
          nameG              nameH
          nameI              nameJ
          nameK              nameL
==============================================
                   04/01/15
==============================================
          nameM              nameN

我在寻找一个FOREACH循环吗?

这是我目前正在使用的代码。。。

<?php
$result = mysql_query("SELECT * FROM names ORDER BY date ASC") or die("SELECT Error: ".mysql_error());
    echo '<table>';
    while ($row = mysql_fetch_assoc($result)) 
    {
        echo '<tr><td>'.$row['name1'].'</td><td>'.$row['name2'].'</td></tr>;
    }
    echo '</table>';
?>

我在另一篇文章中找到了问题的答案,下面是任何有类似查询的人的代码:

<?php
$result = mysql_query("SELECT * FROM names ORDER BY date ASC") or die("SELECT Error: ".mysql_error());
	$date = "";
	echo '<table>';
	while ($row = mysql_fetch_assoc($result)) 
		{
			if ($date !== $row["date"]) {
	    	$date = $row["date"];
			echo "<tr><td>$date</td></tr>";
	    {
		echo '<tr><td>'.$row['name1'].'</td><td>'.$row['name2'].'</td></tr>;
        }
    echo '</table>';
?>

每个循环中的测试日期。如果它是空的,或者自上一个循环以来发生了更改,那么请为行加标题。

<?php 
$result = mysql_query("SELECT * FROM names ORDER BY date ASC") or die("SELECT Error: ".mysql_error());  
$date=null;
echo '<table>';     
while ($row = mysql_fetch_assoc($result))   {       
    If($date !==$row['date']){
        $date=$row['date'];
        //and echo your header html
    }
    echo '<tr><td>'.$row['name1'].'</td><td>'.$row['name2'].'</td></tr>; 
 }
 echo '</table>'; ?>