在PHP中的HTML表中显示来自SQL查询的数据

时间:2018-04-15 11:34:32

标签: php html

我从SQL数据库中检索了一个数据列表,现在我想将它显示在一个整洁的表中而不是列表中。我设法找到了一种方法(尽管可能不是很优雅),但列标题似乎是偏移的,我不知道如何解决这个问题。

enter image description here

我对PHP完全陌生,因此非常感谢有关如何解决此问题的任何提示!

    echo '<table>';
    echo '<tr>';
    echo '<th>';
    echo '<td>Word</td>';
    echo '<td>Frequency</td>';
    echo '</th>';
    echo '</tr>';
    $response = $db->query("SELECT * FROM frequencies WHERE freq BETWEEN 900 AND 910 ORDER BY freq");

    while ($row = $response->fetch())
    {
        echo '<tr>';
        echo '<td>'.$row['word'].'</td>';
        echo '<td>'.$row['freq'].'</td>';
        echo '</tr>';
    }
    echo '</table>';
    $response->closeCursor();   

2 个答案:

答案 0 :(得分:1)

<th>元素是表格标题元素,应使用 <td>表格数据标题行中的元素 - 它永远不应该是<td>元素的包装。

echo '<table>';
echo '<tr>';
echo '<th>Word</th>';
echo '<th>Frequency</th>';
echo '</tr>';

答案 1 :(得分:0)

我更喜欢结合php和html

<table >
    <thead>
        <tr>
            <th >Word</th>
            <th >Frequency</th>   
        </tr>
    </thead>
        <?php
        $response = $db->query("SELECT * FROM frequencies WHERE freq 
        BETWEEN 900 AND 910 ORDER BY freq");

        ?>
    <tbody>
        <?php  
 while ( $row = $response->fetch()) { 
         ?>
           <tr>

            <td><?php echo $row['word']; ?></td>
            <td><?php echo $row['freq']; ?></td>

         </tr>
          <?php } 

            $response->closeCursor();

           ?>
    </tbody>
</table>