PHP / HTML - 表未正确显示

问题描述 投票:0回答:3

目前我有一个链接到MySQL数据库的表,它从数据库获取行。

它工作得很好,阵列显示很好。

但是,不是每次都向下显示一个普通表,而是像下面那样并排显示它。

由于隐私,播放器名称被删除。但是空白的空间是玩家所在的位置。

这是数据库连接文件:

<?php
// MySQL Connection Details
$mysql_host = ""; // Host name 
$mysql_username = ""; // Mysql username 
$mysql_password = ""; // Mysql password 
$mysql_database = ""; // Database name 
$mysql_table = ""; // Table name 

// MySQL Connection
$con = mysqli_connect("$mysql_host","$mysql_username","$mysql_password","$mysql_database");

// MySQL Error Logging
if (mysqli_connect_errno())
  {
  echo "MySQL Connection Failed: " . mysqli_connect_error();
  }

$sql = "SELECT * FROM $mysql_table";
$result = $con->query($sql);  

?>

下面是它在主php文件中的显示方式。

<table id="ldr_table">
    <tr class="lb_tb_hd" align="center">
        <td>Player</td>
        <td>Points</td>
        <td>Wins</td>
        <td>Kills</td>
        <td>Deaths</td>
        <td>Played</td>
    </tr>
    <tr class="ldr_alt">
        <?php
        require('{db connection file}');
        while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
        {   
        echo '<td><center>' . $row['player_name'] . '</center></td>';
        echo '<td><center>' . $row['score'] . '</center></td>';
        echo '<td><center>' . $row['games_won'] . '</center></td>';
        echo '<td><center>' . $row['kills'] . '</center></td>';
        echo '<td><center>' . $row['deaths'] . '</center></td>';
        echo '<td><center>' . $row['games_played'] . '</center></td>';
        }
        mysqli_close($con);
        ?>
    </tr>
</table>

我尝试了几件事,包括对格式没有影响的foreach

如果还有其他文件,我很乐意在这里展示。

php html mysql sql html-table
3个回答
1
投票

您需要为每个SQL结果创建一个新行

<?php
require('{db connection file}');
while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
{
     echo '<tr class="ldr_alt">';
     echo '<td><center>' . $row['player_name'] . '</center></td>';
     echo '<td><center>' . $row['score'] . '</center></td>';
     echo '<td><center>' . $row['games_won'] . '</center></td>';
     echo '<td><center>' . $row['kills'] . '</center></td>';
     echo '<td><center>' . $row['deaths'] . '</center></td>';
     echo '<td><center>' . $row['games_played'] . '</center></td>';
     echo '</tr>';
}
mysqli_close($con);

?>

PS:用

text-align: center;

而不是多个中心应答。


0
投票

Echo <tr>标签里面循环。

while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
{
    echo '<tr class="ldr_alt">';
    echo '<td><center>' . $row['player_name'] . '</center></td>';
    echo '<td><center>' . $row['score'] . '</center></td>';
    echo '<td><center>' . $row['games_won'] . '</center></td>';
    echo '<td><center>' . $row['kills'] . '</center></td>';
    echo '<td><center>' . $row['deaths'] . '</center></td>';
    echo '<td><center>' . $row['games_played'] . '</center></td>';
    echo '</tr>';
}

0
投票

。在while循环中放置<tr>标签

<table id="ldr_table">
        <tr class="lb_tb_hd" align="center">
            <td>Player</td>
            <td>Points</td>
            <td>Wins</td>
            <td>Kills</td>
            <td>Deaths</td>
            <td>Played</td>
        </tr>

            <?php
            require('{db connection file}');
            while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
            {   
            echo '<tr class="ldr_alt">'
            echo '<td><center>' . $row['player_name'] . '</center></td>';
            echo '<td><center>' . $row['score'] . '</center></td>';
            echo '<td><center>' . $row['games_won'] . '</center></td>';
            echo '<td><center>' . $row['kills'] . '</center></td>';
            echo '<td><center>' . $row['deaths'] . '</center></td>';
            echo '<td><center>' . $row['games_played'] . '</center></td>';
            echo '</tr>'
            }
            mysqli_close($con);
            ?>

    </table>
© www.soinside.com 2019 - 2024. All rights reserved.