繁体   English   中英

用HTML打印出MySQL表

[英]Printing out MySQL tables in HTML

我目前正在使用下面的代码来打印出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页面相同的页面上打印此表的方法。

您的代码相当不错,只需要添加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表的快速而肮脏的方法,但是如果您还希望显示列的名称,则事情会变得有些棘手。 另外,如果您的结果包含特殊字符(例如“>”),则可能会使输出混乱。 如果发生这种情况,只需查找htmlspecialchars()的文档。

如果希望此表与表单显示在同一页面上,只需创建一个提交按钮,然后像这样检查PHP中的值:

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

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

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

只需使用此代码即可:)

$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>";

完成:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM