我创建了一个具有积分系统的数据库,并将其转换为我计划从最高到最低显示数据库中数据的排名,然后使用列表将其显示为数字。但是,当将其显示为列表时,它只显示为: 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>";
}
?>
答案 0 :(得分:0)
您的HTML已损坏。您无法在<td>
中添加<ol>
元素。您需要创建一个这样的结构:
<td>
<ol>
<li> Some stuff </li>
<li> Some stuff </li>
<li> Some stuff </li>
<li> Some stuff </li>
</ol>
</td>
将这样的<li>
元素分组将允许编号工作,但显然它会弄乱你的表格布局。您可以选择在PHP脚本中生成编号,而不是使用有序列表结构。
答案 1 :(得分:0)
如评论中所述,请删除
<td>
标记或做一个表而不是一个有序列表,并且更好地使用'而不是'来包含带有属性的周围html标签,并使用“for the attributes values,因为这样你就可以获得有效的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
答案 2 :(得分:0)
你可以用这个
<table>
<tr>
<?php
$i=1;
while($row = mysqli_fetch_array($mw2ranks))
{
echo "<td> ".$i."</td>";
echo "<td> ".$row['points']."</td>";
$i++;
}
?>
</tr>