在PHP中的HTML表中显示查询结果

时间:2010-02-24 18:10:29

标签: html css

我需要在网页中显示一个表格。表中的数据来自数据库,我可以使用mysql php库查询。我正在寻找一个模板/示例,说明如何提出一个漂亮的桌子(我不擅长前端设计)。

任何链接/示例/参考将不胜感激。

5 个答案:

答案 0 :(得分:5)

以下是有关如何将MySQL表读入HTML表的示例。不,它看起来不太好。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Read values from MySQL</title>
    </head>
    <body>
        <?
            mysql_connect($db_host,$db_user,$db_pw);
            mysql_select_db($db_name);
        ?>
        <table border="1">
            <tbody>
                <?
                    $result = mysql_query("SELECT firstname, lastname FROM persons")
                        OR die(mysql_error());
                    while($row = mysql_fetch_assoc($result)) {
                        echo '<tr><td>' . $row['firstname'] . '</td><td>' . $row['lastname'] . '</td></tr>';
                    }
                ?>
            </tbody>
        </table>
    </body>
</html>

答案 1 :(得分:4)

this这样的东西,如果你只是想要前端设计。

答案 2 :(得分:0)

假设您的行是PHP对象的数组......

echo '<table>';
foreach ($rows as $row) {
    echo '    <tr>';
    echo '        <td>'.$row->column_1.'</td>';
    // etc.
    echo '    </tr>';
}
echo '</table>';

答案 3 :(得分:0)

答案 4 :(得分:0)

这是一个函数,它接受mysqli查询结果并返回带有标题和数据的HTML表。

<?php
    function mysqli_result_2_table( $query_result, $width = '100%' ) {

        $nrows = mysqli_num_rows($query_result);

        if( $nrows > 0 ) {

            $table = '<table style="width:' . $width . '"><thead><tr style="background-color:#ccc;color:#000;">';
            $nfields = mysqli_num_fields($query_result);
            while( $field = mysqli_fetch_field( $query_result ) ) {     
                $table .= '<th>' . ucfirst($field->name) . '</th>'; 
            }
            $table .= '</tr></thead><tbody>';

            $even = true;
            while( $row = mysqli_fetch_assoc($query_result) ) {

                $table .= '<tr style="' . ($even ? 'background-color:#eee' : 'background-color:#ddd') . '">';
                $even = !$even;
                foreach($row as $field => $value) {
                    $table .= '<td>' . $value . '</td>';
                }
                $table .= '</tr>';
            }
            $table .= '</tbody><tfoot><tr style="background-color:#ccc;color:#000"><td colspan="' . $nfields . '">Query returned ' . $nrows . ' records.</td></tr></tfoot></table>';
        }
        else { echo '<p>Query returned an empty result (no rows).</p>'; }

        return $table;
    }

?>

我对它进行了相当大的修改,但这里是原始参考资料来源: sql query -> html table ?!