以HTML格式打印MySQL表

时间:2014-03-02 02:51:33

标签: php html mysql

我目前正在使用以下代码打印出MySQL表格。但是,当我打印多行时,格式非常难看。什么是一种方法或命令,我可以创建类似于Tab键的列,使其更美观?

$google= mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_assoc($google)){
foreach($row as $cname => $cvalue){
    print "$cvalue\t <tr>";
}

print "<br>";
}

使用用户输入打印查询。使用

<form action="google.php" method="post">

命令。我也在寻找一种方法在与我接受用户输入的HTML页面相同的页面上打印此表。

2 个答案:

答案 0 :(得分:0)

您的代码非常好,只需要添加HTML就可以让它看起来更漂亮。使用表格(这尚未经过测试,但它应该有效):

$google = mysqli_query($query) or die(mysqli_error());

echo '<table>';

while($row = mysqli_fetch_assoc($google)) {
    echo '<tr>';
    foreach($row as $cvalue) {
        print '<td>'.$cvalue.'</td>';
    }
    echo '</tr>';
}

echo '</table>';

这是输出MySQL表的一种快速而又脏的方法,但是如果你还想要显示列的名称,那么事情会变得相当棘手。此外,如果您的结果包含特殊字符,例如“&gt;”,则会导致输出混乱。如果发生这种情况,请查看htmlspecialchars()

的文档

如果您希望此表显示在与表单相同的页面上,只需创建一个提交按钮并检查PHP中的值,如下所示:

if (isset($_POST['SubmitButtonNameHere'])  { ... }

我不确定您的表单的结构,因此此代码可能需要不同以确定表单是否已提交。您可以将用于创建表的代码放在花括号内,并将表单的代码放在if语句的上方或下方。

<tr>是用于向<table>元素添加行的HTML元素。 <td>元素将单元格添加到这些行。此外,您的代码使用的是mysql_*。由于在PHP中不推荐使用mysql前缀,因此将其更改为mysqli_*。希望这能回答你的问题。

答案 1 :(得分:0)

只需使用此代码:)

$google= mysql_query($query) or die(mysql_error());

echo "<table><tbody>";
while($row = mysql_fetch_assoc($google)){
foreach($row as $cname => $cvalue){
echo "<tr><td>".$cname."</td><td>".$cvalue."</td></tr>";
}
echo "</tbody></table>";

完成:)