首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MYSQL Associate数组和表

PHP MYSQL Associate数组和表
EN

Stack Overflow用户
提问于 2014-04-01 20:45:20
回答 3查看 223关注 0票数 2

这是一个代码。这将从数据库中动态加载所有标题部分(即表的标题)。

下面的代码运行良好。但是列是不匹配的。即,标题的第一行第一列是空的,并且在表中存在错位。

代码

代码语言:javascript
复制
    <table border="1">
    <?php
    $book_query = mysql_query("select * from book_master");
    $i = 0;
    while($row = mysql_fetch_assoc($book_query))
    {

            $columns = array_keys($row);
            ?> 
            <th>
                <?php
                foreach($columns as $column)
                {
                ?>
                    <td><?php echo $column; ?> </td>

            </th>
            <?php 
        } 
        ?>
        <tr>
            <?php
            foreach($row as $key=>$value)
            {
                ?>
                <td><?php echo $value; ?></td>
                <?php
            }
            ?>
        </tr>
        <?php
        $i++;
    }
    ?>          
    </table>

编辑:

下面是我的print_r($columns)值:

代码语言:javascript
复制
Array ( [0] => Author Name [1] => Book Name [2] => Rating [3] => Location )

我知道问题出在循环上。有谁能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2014-04-01 21:42:34

你可以试着改变

代码语言:javascript
复制
         <th>
            <?php
            foreach($columns as $column)
            { ?>
                <td><?php echo $column; ?> </td>
            <?php 
            }   
            ?>
        </th>

代码语言:javascript
复制
        <tr>
            <?php
            foreach($columns as $column)
            { ?>
                <th><?php echo $column; ?> </th>
            <?php 
            }   
            ?>
        </tr>
票数 2
EN

Stack Overflow用户

发布于 2014-04-01 21:19:41

希望这能帮助到一些人。只是我已经用TR替换了TH标记,并且输出很完美。

代码语言:javascript
复制
    <table border="1">
    <?php
    $book_query = mysql_query("select * from book_master");

    while($row = mysql_fetch_assoc($book_query))
    {

    $columns = array_keys($row);
    ?> 
    <tr>
    <?php
    foreach($columns as $column){ ?>
    <td><?php echo $column; ?> </td>
    <?php } ?>
    </tr>

    <tr>
    <?php
    foreach($row as $key=>$value){ ?>
    <td><?php echo $value; ?></td>
    <?php } ?>
    </tr>


    </table>
票数 1
EN

Stack Overflow用户

发布于 2014-04-01 21:25:05

删除这个标签,因为它创建了一个额外的单元格,所以你的布局搞乱了

代码语言:javascript
复制
<table border="1">
    <?php

    $book_query = mysql_query("select * from book_master");
    $i = 0;
    while($row = mysql_fetch_assoc($book_query))
    {
    if($i == 0){
    $columns = array_keys($row);
    ?> 
    <?php
    foreach($columns as $column){ ?>
    <td><?php echo $column; ?> </td>
    <?php } ?>
    <?php } ?>
    <tr>
    <?php
    foreach($row as $key=>$value){ ?>
    <td><?php echo $value; ?></td>
    <?php } ?>
    </tr>
    <?php
    $i++;
    }
    ?>          
    </table>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22786306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档