dqb78642 2018-06-07 02:13
浏览 47
已采纳

如何在PHP中将垂直表与水平视图对齐

I have manage to query a table in MS Access DB using PDO with PHP programming. But the table displayed in vertical view. I want to change it to normal table but I don't know how.

Here is my code :

<?php
    if(isset($_POST['search']))
    {
        $month = $_POST['month'];
        $year = $_POST['year'];

        $connectdb = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\Demo2018.mdb; Uid=; Pwd=COMPLETEPAYROLL;");

        $sql = "SELECT *
                FROM `tblPAyTrans` 
                WHERE Month ='$month' AND Year ='$year'";

        if ($result = $connectdb->query($sql)) {
            echo '<table>';
            foreach($result->fetchAll(PDO::FETCH_ASSOC) as $row) {                
                foreach($row as $key  => $value) {
                    echo '<tr><td>' . $key . '</td></tr>';
                    echo '<tr><td>' . $value . '</td></tr>';
                }
            }
            echo '</table>';
        }      
    }
?>

The output look like this :

| AutoNumber    |<-column
| 39779         |<-value
| Employee ID   |<-column
| 1008          |<-value
| Salary Type   |<-column
| Monthly       |<-value
| Pay Frequency |<-column
| Once a Month  |<-value

The output that I want :

|Column Name|Column Name|Column Name|Column Name|
|   Value   |   Value   |   Value   |   Value   |
  • 写回答

1条回答 默认 最新

  • doubei8168 2018-06-07 02:19
    关注

    Replace your foreach with below code

    $rows = '';
    foreach($result->fetchAll(PDO::FETCH_ASSOC) as $row) {                
        $heading = '';
        $rows .= '<tr>';
        foreach($row as $key  => $value) {
            $heading .= '<th>'.$key.'</th>';
            $rows .= '<td>' . $value . '</td>';
        }
        $rows .= '</tr>';
    }
    echo '<tr>'.$heading.'</tr>';
    echo $rows;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?