如何在一行中显示MySQL中的列以及每个项的计数器


How to display columns from MySQL in one row with counters for each items

我对编程很陌生,如果我的问题听起来很傻,请原谅。我正在尝试列出MySQL数据库中的行。我的要求是,在一个部门的每一个名称下,每一行的每一项都要有一个柜台。例如:我在MySQL数据库中的每一行都有部门名称和对应部门的名称。我尝试在下面演示MyMSQL表的结构。我试图得到的输出是以下格式的

Department          Desig1              Desig2              Desig3
==========          ======              ======              ======
IT                  Director            Manager             Asst. Mgr
Finance             Finance Contr       Finance Mgr         Chartd Acct.
Admin               CEO                 Gen. Mgr.           Mgr

这就是我所期待的输出。

IT
1 Director
2 Manager
3 Asst. Manager
Finance
1 Finance Controller
2 Finance Manager
3 Charted Accountant
Administration
1 CEO
2 General Manager
3 Manager

我试图使用下面的代码从MySQL中检索数据,但无法以我想要的格式获得结果。我试着在同一个循环中添加一个增量,认为这可能会有所帮助,但我错了。请告知。

注意:我使用bootstrap进行后台设计。

<?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "dbname";
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) 
    {
        die("Connection failed: " . $conn->connect_error);
    }
    $sql = "SELECT Dept, Desig1, Desig2, Desig3 FROM comdept";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) 
    {
        while ($row = mysqli_fetch_assoc($result)) 
        {
            i=0;
            echo "<div class='panel-heading'><div class='panel-title'><strong>".$row["Dept"]."</strong></div></div><table class='table table-bordered table-hover'><thead><tr><th class='col-sm-1'>SL</th><th>Designations</th></tr></thead><tbody><tr><td>".i++."</td><td>".$row["Desig1"]."</td></tr><tr><td>".i++."</td><td>".$row["Desig2"]."</td></tr><tr><td>".i++.".</td><td>".$row["Desig3"]."</td></tr></tbody></table>";
        }
    }
    else
    {
        echo "0 results";
    }
?>

尝试使用以下格式:

$i=0;
echo "<table class='table table-bordered table-hover'>";
while ($row = mysqli_fetch_assoc($result)) {
    echo "<tr><td colspan=2>".$row["Dept"]."</td></tr>";
    echo "<tr><td>".$i++."</td><td>".$row["Desig1"]."</td></tr>";
    echo "<tr><td>".$i++."</td><td>".$row["Desig2"]."</td></tr>";
    echo "<tr><td>".$i++."</td><td>".$row["Desig3"]."</td></tr>";
    echo "<tr><td colspan=2></td></tr>";
}
echo "</table>";

希望这有帮助。

查询"SELECT Dept,Desig1,Desig2,Desig3 FROM comdept"列标题为"Department"而非"Dept"时出错这是corre`

echo $sql = "SELECT Department, Desig1, Desig2, Desig3 FROM comdept";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    echo "<table class='table table-bordered table-hover'>";
    while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr><td colspan=2>".$row["Department"]."</td></tr>";
    echo "<tr><td>1</td><td>".$row["Desig1"]."</td></tr>";
    echo "<tr><td>2</td><td>".$row["Desig2"]."</td></tr>";
    echo "<tr><td>3</td><td>".$row["Desig3"]."</td></tr>";
    echo "<tr><td colspan=2></td></tr>";
        //$i=0;
    //echo "<div class='panel-heading'><div class='panel-title'><strong>".$row["Dept"]."</strong></div></div><table class='table table-bordered table-hover'><thead><tr><th class='col-sm-1'>SL</th><th>Designations</th></tr></thead><tbody><tr><td>".i++."</td><td>".$row["Desig1"]."</td></tr><tr><td>".i++."</td><td>".$row["Desig2"]."</td></tr><tr><td>".i++.".</td><td>".$row["Desig3"]."</td></tr></tbody></table>";
    }echo "</table>"; else{echo "0 results";}

`