我已经设法使用PDO和PHP编程在MS Access DB中查询一个表。 但表格以垂直视图显示。我想将其更改为普通表,但我不知道如何。
这是我的代码:
<?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>';
}
}
?>
输出如下所示:
| AutoNumber |<-column
| 39779 |<-value
| Employee ID |<-column
| 1008 |<-value
| Salary Type |<-column
| Monthly |<-value
| Pay Frequency |<-column
| Once a Month |<-value
我想要的输出:
|Column Name|Column Name|Column Name|Column Name|
| Value | Value | Value | Value |
用以下代码替换您的foreach
$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;