php在数据库中创建未知数量的列的html表

时间:2017-02-02 23:00:16

标签: php html mysql mariadb unexpectendoffile

我想从mariadb数据库创建一个html表。我不知道每个数据库表最终会有多少列。

因为我不知道我有多少列,所以我提出了这个:

modelBuilder.Entity<Main_User>()
            .HasMany(c => c.SubUsers)
            .WithRequired(c => c.Main_User)
            .HasForeignKey(c => c.Main_User_UID)

问题是该表格不会超过第一行。

另外我收到了错误

  

解析错误:语法错误,第58行的E:\ xampp \ htdocs \ test.php中的文件意外结束   块引用

当我输入两个大括号时错误消失&#34;}}&#34;在while循环之后,它将显示以下内容:

execute:

我不知道为什么浏览器中有大括号,如图所示。

编辑:我编辑了该帖子,因为它被标记为parsing and syntax errors的重复,但我的主要问题是创建了包含未知列数的表。

知道如何解决这个问题吗?谢谢你们!

1 个答案:

答案 0 :(得分:0)

说实话,我不确定为什么会出现这个错误,因为你的所有牙套都被关闭了。但是,尝试简化 - 正如RiggsFolly所说,只放置你想在循环中重复的东西。它使您的逻辑更简单,更整洁。试试这个:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="styles/global.css">
</head>
<body>

    <?php

    $con=mysqli_connect("localhost","root","","test");
// Check connection
    if (mysqli_connect_errno()){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
//query
    $sql="SELECT * FROM news ORDER BY author";
    $result=mysqli_query($con,$sql);
    $row=mysqli_fetch_array($result, MYSQLI_ASSOC)
    ?>

    <table>
        <thead>
                <tr>
                    <th><?php echo implode("</th><th>", array_keys($row)); ?>
                    </th>
                </tr>
        </thead>
        <tbody>
                <tr>
                <td><?php echo implode("</td><td>", $row); ?>
                </td>
                </tr>

    <?php
    $counter = 0;
    while($row=mysqli_fetch_array($result, MYSQLI_ASSOC)){
//        echo $counter;
//        echo nl2br("\n");
        ?>  

                <tr>
                <td><?php echo implode("</td><td>", $row); ?>
                </td>
                </tr>

        <?php
        $counter ++;
    }

mysqli_free_result($result);
mysqli_close($con);
?>  
            </tbody>
        </table>
</body>
</html>

然后,查看任何可用的免费template processors,这样您就不会混合内容和代码。