我正在尝试对从数据库中提取的一些表进行样式设置,我希望行中的列与列名称对齐以使其更具可读性。
尝试使用 PHP 时的唯一问题,我不知道我做错了什么,我尝试在 while 循环之外创建一个表,显示名称,然后在那里启动表,然后然后在 while 循环内结束该表。但我希望所有行都作为第一行,我尝试更改 css 并移动 echo "</table>";
和echo "<table>";
但不知道我可能做错了什么来让它看起来漂亮,或者至少组织成一个表格集,有什么想法,或者更好的方法我可以让它工作并看起来有组织吗?
我感谢任何帮助和评论,这里是来源和问题;
PHP 代码:
<?php
include('connect_mysql.php');
$sql = "SELECT * FROM artist";
$resultat = $conn->query($sql);
echo"<table>";
echo "<tr id='tabledesc'>";
echo"<td class='tabledesc'>Artist Name</td>";
echo"<td class='tabledesc'>Birthday</td>";
echo"<td class='tabledesc'>Name</td>";
echo"<td class='tabledesc'>Surname</td>";
echo"<td class='tabledesc'>Country</td>";
echo "</tr>";
while($rad = $resultat->fetch_assoc()) {
$artist_id = $rad["artist_id"];
$birthday = $rad["birthday"];
$artistname = $rad["artistname"];
$name = $rad["name"];
$surname = $rad["surname"];
$country = $rad["country"];
echo "<div class='tableselect'>";
echo "<tr>";
echo"<td class='tablerow'>$artistname</td>";
echo"<td class='tablerow'>$birthday</td>";
echo"<td class='tablerow'>$name</td>";
echo"<td class='tablerow'>$surname</td>";
echo"<td class='tablerow'>$country</td>";
echo "</tr>";
echo "</table>";
echo "</div class='tableselect'>";
}
$conn->close();
?>
A$AP Ferg 列显然按预期工作,但是 while 循环停止生成表后给出的相同行,这是我放入的 CSS:
.tableselect {
font-size: 25px;
color: tomato;
}
table, td {
font-size: 25px;
color: tomato;
}
.tabledesc {
text-align: center;
color: black;
}
我很抱歉这个半不清楚的问题,但最后我会提供更多的见解。我正在创建一个说唱数据库,用户可以在其中输入艺术家和有关他们的信息,在这里我只想选择所有行并将它们放入像打印的第一列一样..但不幸的是我的代码有点困惑,而 PHP 是这不是我的强项:D
如果有任何帮助,我将不胜感激!
最佳答案
您的 HTML 标记不匹配;一个<div>
元素不能是 <table>
的直接子元素元素和结束 </table>
标签不应位于循环体内。
在我看来,echo
也是一个坏主意。 HTML 代码。首先编写 HTML,然后在需要时打开和关闭 PHP 标签。我还发现在将 HTML 与 PHP 混合时使用替代 PHP 语法要方便得多。
关于PHP:SELECT * FROM 的 echo 中的表出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50331576/