>我制作了一个具有积分系统的数据库,为了将其转换为排名,我计划从最高到最低显示数据库中的数据,然后使用列表用数字显示它。但是,当将其显示为列表时,它仅显示为:1.1.1.1.1.1.
(一直持续到达到10(
这不是它应该如何行动,我尝试更改代码周围的东西,结果只会恶化。谁能帮忙?
<?php
$con=mysqli_connect("localhost","root","","gg");
$mw2ranks = mysqli_query($con,"SELECT * FROM qsmw2 ORDER BY points DESC") ;
while($row = mysqli_fetch_array($mw2ranks))
{
echo "<td><ol><li style='list-style-type:decimal;'> ".$row['points']."</li></ol></td> <td> </td>
<td> </td>
<td> </td></tr>";
}
?>
如评论中所述,删除您的
<td>
标记或做一个表而不是有序列表,最好使用 ' 而不是 " 来包围带有属性的 HTML 标记,并使用 " 作为属性值,因为这样你就可以得到有效的 html,并且在 PHP 中没有问题。列表的正确代码是:
<?php
$con=mysqli_connect("localhost","root","","gg");
$mw2ranks = mysqli_query($con,"SELECT * FROM qsmw2 ORDER BY points DESC") ;
echo "<ol>";
while($row = mysqli_fetch_array($mw2ranks))
{
echo '<li style="list-style-type:decimal;"> '.$row['points'].'</li>';
}
?>
</ol>
对于表,您可以使用以下内容:
<?php
$con=mysqli_connect("localhost","root","","gg");
$mw2ranks = mysqli_query($con,"SELECT * FROM qsmw2 ORDER BY points DESC") ;
?>
<table>
<tr>
<?php
while($row = mysqli_fetch_array($mw2ranks))
{
echo "<td> ".$row['points']."</td>
}
?>
</tr>
</table
你的HTML坏了。您不能在<ol>
中包含<td>
元素。您需要创建如下结构:
<td>
<ol>
<li> Some stuff </li>
<li> Some stuff </li>
<li> Some stuff </li>
<li> Some stuff </li>
</ol>
</td>
像这样对<li>
元素进行分组将允许编号工作,但显然它会弄乱您的表格布局。您的替代方法是在 PHP 脚本中生成编号,根本不使用有序列表结构。
你可以使用它
<table>
<tr>
<?php
$i=1;
while($row = mysqli_fetch_array($mw2ranks))
{
echo "<td> ".$i."</td>";
echo "<td> ".$row['points']."</td>";
$i++;
}
?>
</tr>