如果日期相同则只显示一次

时间:2018-03-16 05:48:11

标签: php

如果日期与数据库日期相同,则仅显示一次。例如:数据库日期16/2然后所有16/2必须显示在一个框中,但是还需要显示其他日期。谁帮我解决了这个问题。

   <h1>Payment Record</h1>
<?php

        $user_check=$_SESSION['login_user'];
        $query = "SELECT * FROM `confirm_order` where customer = '$user_check'";
        $result=mysqli_query($mysqli,$query);
        while($row=mysqli_fetch_array($result))
        {   

            ?>

            <table style="width:100%;border:1px solid black;margin-bottom:20px;">

            <tr>
                <td>Product Name: <?php echo $row['product_name'];?></td>
            </tr>
            <tr>
                <td>Quantity: <?php echo $row['quantity']?></td>
            </tr>
            <tr>
                <td>Receiver Name: <?php echo $row['receiver_name']?></td>
            </tr>
            <tr>
                <td>Receiver Address: <?php echo $row['receiver_address']?></td>
            </tr>
            <tr>
                <td>Receiver Contact: <?php echo $row['receiver_contact']?></td>
            </tr>
            <tr>
                <td style="float:right">Date: <?php echo $row['date']?></td>
            </tr>
            </table>

        <?php   


        }       
?>

示例

id | product | date |
---|---------|------|
1  | book    | 16/2 |
2  | pencil  | 16/2 |
3  | shoe    | 18/2 | 

结果

-------
book   |
pencil |
-------
shoe   |
-------

1 个答案:

答案 0 :(得分:0)

以下是完整的解决方案:

    $user_check=$_SESSION['login_user'];
$query = "SELECT * FROM `confirm_order` where customer = '$user_check'";
$result=mysqli_query($mysqli,$query);
$current_date=NULL;
$previous_date=NULL;
$table_open="<table border='1'>";
$table_close="</table><hr>";

$output=NULL;
while($row=mysqli_fetch_array($result))
{   
    $current_date=$row['date']; 

    if ($current_date==$previous_date) {            
        // SAME DATE
        $output.= "<tr><td>SAME DATE</td><td>".$current_date."</td></tr>";
        } else {
        // NEW DATE
        if ($previous_date<>NULL) {
            $output.= $table_close;
        }
        $output.= $table_open."<tr><td>NEW DATE</td><td>".$current_date."</td></tr>";
    }   
    $previous_date=$row['date'];
}    

echo $output;