为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 PHP 从 SQL 中获取具有列名的数据?

如何使用 PHP 从 SQL 中获取具有列名的数据?

PHP
翻翻过去那场雪 2022-07-09 10:37:09
我试图在我的 HTML/PHP 网页中显示来自 SQL 的完整表格。到目前为止,我成功地从我的网页中的表格中获取数据,而无需在 HTML 中定义每一行。这有效,但它仅显示表中的数据。我想查看第一行中的列名。请参阅下面的代码:include_once "connection.php";$sql = "SELECT * FROM `own`";$result = mysqli_query($conn, $sql);echo "<br>";echo "<table border='1'>";while ($row = mysqli_fetch_assoc($result)) {   echo "<tr>";  foreach($row as $value) {     echo "<td>" . $value . "</td>";   }  echo "</tr>";}echo "</table>";
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

当您使用mysqli_fetch_assoc()时 - 这将返回一个数组,其中列名作为每个值的键。因此,此代码将(仅对于第一个循环)将列名显示为单独的行。


$headerDisplayed = false;


while ($row = mysqli_fetch_assoc($result))

{

    if ( $headerDisplayed == false )    {

        echo "<tr>";

        foreach($row as $columnName => $value) {

            echo "<th>" . $columnName . "</th>";

        }

        echo "</tr>";

        $headerDisplayed = true;

    }

    echo "<tr>";

    foreach($row as $value) {

        echo "<td>" . $value . "</td>";

    }

    echo "</tr>";

}

如果您希望能够给出更有意义的名称,您还可以使用列别名(例如)..


select `dept_no` as `department number` from `departments`

将显示department number为标题而不是dept_no.


查看完整回答
反对 回复 2022-07-09
?
SMILET

TA贡献1796条经验 获得超4个赞

最简单的解决方案是在第一次迭代时首先输出列名:


while ($row = mysqli_fetch_assoc($result)) 

    // If the variable $colNamesPrinted is undefined, print the column names

    if (isset($colNamesPrinted) === false) {

        echo "<tr>";

        foreach($row as $name => $value) { 

            echo "<th>" . $name . "</th>"; 

        }

        echo "</tr>";


        // Define the variable so it will be set on the next iteration.

        $colNamesPrinted = true;

    }


    echo "<tr>";

    foreach($row as $value) { 

        echo "<td>" . $value . "</td>"; 

    }

    echo "</tr>";

}


查看完整回答
反对 回复 2022-07-09
  • 2 回答
  • 0 关注
  • 211 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号