我目前正在使用下面的代码来打印 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_*
。这已更改为 mysqli_*
因为 PHP 中不推荐使用 mysql 前缀。希望这能回答您的问题。
关于php - 以 HTML 格式打印 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22123282/