与PHP集成时,列表将无法正确显示

时间:2013-10-11 06:56:27

标签: php html

我创建了一个具有积分系统的数据库,并将其转换为我计划从最高到最低显示数据库中数据的排名,然后使用列表将其显示为数字。但是,当将其显示为列表时,它只显示为: 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>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td></tr>";

}
?>

3 个答案:

答案 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>