错误显示的表格,行没有相互对齐

时间:2017-03-08 11:39:41

标签: php css

我有这个问题,我打印出所有用户的每个细节,但正如您在下面的照片中看到的那样,它们并没有完全正确对齐。我的意思是说一些名字'盒子只是说50像素宽,但有些更宽。

enter image description here

有没有办法解决这个问题,并调整每个条目的详细信息? 我在下面附上了php代码,所以你可以看看它。

提前致谢

while($users=mysqli_fetch_assoc($getUsers)){
        echo '<table border="1" cellpadding="1" cellspacing="1" width="80%" style="margin: 0 auto">';
        echo '<tr class="allUsers">';
        echo '<th>Username</th>';
        echo '<th>First name</th>';
        echo '<th>Last name</th>';
        echo '<th>Email</th>';
        echo '<th>Year group</th>';
        echo '<th>Subject 1</th>';
        echo '<th>Subject 2</th>';
        echo "<th>Subject 1's teacher</th>";
        echo "<th>Subject 2's teacher</th>";
        echo '<th>Privilege</th>';
        echo '<th>Own database</th>';
        echo '</tr>';

        echo '<tr>';
        echo '<td>'.$users['username'].'</td>';
        echo '<td>'.$users['first_name'].'</td>';
        echo '<td>'.$users['last_name'].'</td>';
        echo '<td>'.$users['email'].'</td>';
        echo '<td>'.$users['year_group'].'</td>';
        echo '<td>'.$users['subject'].'</td>';
        echo '<td>'.$users['subject2'].'</td>';
        echo '<td>'.$users['teacher'].'</td>';
        echo '<td>'.$users['teacher2'].'</td>';
        echo '<td>'.$users['is_admin'].'</td>';
        echo '<td>'.$users['own_database'].'</td>';
        echo '</tr>';
        echo '</table>';

除了所有这些之外,还有一种方法可以只在顶部显示一次标题,然后只列出所有用户&#39;细节?

2 个答案:

答案 0 :(得分:2)

当您实际只需要一个用户时,您正在为每个用户创建一个单独的表。尝试从循环中分离<table>标记和标题,因此它们只会回显一次:

echo '<table border="1" cellpadding="1" cellspacing="1" width="80%" style="margin: 0 auto">';
echo '<tr class="allUsers">';
echo '<th>Username</th>';
echo '<th>First name</th>';
echo '<th>Last name</th>';
echo '<th>Email</th>';
echo '<th>Year group</th>';
echo '<th>Subject 1</th>';
echo '<th>Subject 2</th>';
echo "<th>Subject 1's teacher</th>";
echo "<th>Subject 2's teacher</th>";
echo '<th>Privilege</th>';
echo '<th>Own database</th>';
echo '</tr>';

while($users=mysqli_fetch_assoc($getUsers)){
    echo '<tr>';
    echo '<td>'.$users['username'].'</td>';
    echo '<td>'.$users['first_name'].'</td>';
    echo '<td>'.$users['last_name'].'</td>';
    echo '<td>'.$users['email'].'</td>';
    echo '<td>'.$users['year_group'].'</td>';
    echo '<td>'.$users['subject'].'</td>';
    echo '<td>'.$users['subject2'].'</td>';
    echo '<td>'.$users['teacher'].'</td>';
    echo '<td>'.$users['teacher2'].'</td>';
    echo '<td>'.$users['is_admin'].'</td>';
    echo '<td>'.$users['own_database'].'</td>';
    echo '</tr>';
}
echo '</table>';

答案 1 :(得分:2)

看起来每2行都是自己的表。让<tr>重复,而不是完整的<table>