如何为一个部分是html和部分是php的表设置样式


How to style a table that is part html and part php

我发现这个问题很难用短语表达,但我会尽力的。我正在创建一个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变量的方式。即使您使用双勾号(")来显示行,您的仍然有效。我只使用一个勾号(')来显示您的数据,这样可以更清晰地查看您的代码。请参阅此处了解差异。