我发现这个问题很难用短语表达,但我会尽力的。我正在创建一个php和MYSQL排行榜,它都可以工作,但现在我想对它进行样式设置。我不太了解css,这可能是一个简单的修复。我正在尝试为表设置样式,使所有数据表元素像表一样对称,并与标题的中心对齐。我认为它不起作用,因为从技术上讲,我有两张表正在尝试设计样式,但它们不能协同工作。这是代码,请原谅表中的用户名,我有时会变得懒惰。
<!DOCTYPE html>
<html>
<head>
<title>Leaderboards</title>
<style type="text/css">
th {
overflow: auto;
font-size: 25px;
border: 1px solid;
padding: 5px;
margin: 2px 2px 2px 2px;
}
td {
font-size: 25px;
padding-left: 30px;
padding-top: 3px;
}
</style>
</head>
<body>
<h1>Leaderboard</h1>
<table>
<tr>
<th>Rank</th>
<th>User</th>
<th>Score</th>
</tr>
</table>
<?php
include 'HytecFunctions.php';
$conn=connectDB();
$rank = 1;
$sql = 'SELECT Name, Score FROM Names ORDER BY Score DESC';
foreach ($conn->query($sql) as $row) {
echo "<table>
<td>$rank</td>
<td>$row[Name]</td>
<td>$row[Score]</td>
</tr>
</table>";
$rank++;
}
$conn->close();
?>
</body>
</html>
在我的浏览器中显示的表格
因为您试图在每个循环中创建另一个表。试着把它们都放在一张桌子上。
<table>
<tr>
<th>Rank</th>
<th>User</th>
<th>Score</th>
</tr>
<?php
include 'HytecFunctions.php';
$conn=connectDB();
$rank = 1;
$sql = 'SELECT Name, Score FROM Names ORDER BY Score DESC';
foreach ($conn->query($sql) as $row) {
echo '<tr>
<td>'.$rank.'</td>
<td>'.$row["Name"].'</td>
<td>'.$row["Score"].'</td>
</tr>';
$rank++;
}
$conn->close();
?>
</table>
注意:不要太在意我输入$row
变量的方式。即使您使用双勾号("
)来显示行,您的仍然有效。我只使用一个勾号('
)来显示您的数据,这样可以更清晰地查看您的代码。请参阅此处了解差异。