如何动态使用rowspan在php和mysql中打印表中的数据?

时间:2018-05-22 08:21:22

标签: php mysql

在我的程序中,以下查询和代码生成如下表:

+-------+---------+
|ward_id|Sub_block|
+-------+---------+
|   1   |    A1   |
+-------+---------+
|   1   |    B1   |
+-------+---------+ 
|   1   |    C1   |
+-------+---------+ 
|   2   |    D1   |
+-------+---------+ 
|   2   |    E1   |
+-------+---------+ 
|   2   |    F2   |
+-------+---------+ 
|   3   |    K1   |
+-------+---------+ 
|   3   |    G2   |
+-------+---------+ 
|   3   |    I3   |
+-------+---------+ 

以下是生成上表的代码。

if(isset($_POST["union_id"]) && !empty($_POST["union_id"]))
{
    //Get all union data
    $query = $mysqli->query("SELECT * FROM test_epi_table WHERE union_id = ".$_POST['union_id']);

    //Count total number of rows
    $rowCount = $query->num_rows;

    //Display unions list
    if($rowCount > 0)
    {
        echo "<hr>";
        echo "<h3 align='center'>EPI Schedule</h3>";
        echo "<table class='table table-bordered'>
            <tr>
                <th>Ward No</th>
                <th>Sub-Block</th>
            </tr>";

        while($row = $query->fetch_assoc())
        {
            echo "<tr>";
            echo "<td>" . $row['ward_no'] . "</td>";
            echo "<td>" . $row['sub_block_name'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        echo "<hr>";
    }
    else
    {
        echo "<br>";
        echo "<h3 align='center'>Sorry, No Available Information!</h3>";
        echo "<hr>";
    }
}

现在我想像这样创建表格。大多数情况下,我认为这是一个行程任务。

+-------+---------+
|ward_id|Sub_block|
+-------+---------+
|       |    A1   |
+       +---------+
|   1   |    B1   |
+       +---------+ 
|       |    C1   |
+-------+---------+ 
|       |    D1   |
+       +---------+ 
|   2   |    E1   |
+       +---------+ 
|       |    F2   |
+-------+---------+ 
|       |    K1   |
+       +---------+ 
|   3   |    G2   |
+       +---------+ 
|       |    I3   |
+-------+---------+

我需要在实际的PHP代码中添加哪些更改?请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用内部查询是您可以使用右外连接的好方法之一,如果您希望它更高效。