DB表的PHP MySQL下拉菜单

时间:2019-03-18 14:55:20

标签: php mysql pdo

因此,我有以下代码使用PDO方法从数据库中获取所有表。
但是我需要将其放在一个下拉菜单中(这种想法是显示所选表的所有记录,以便用户可以将所选表中的记录导出到.csv文件中)
有人可以帮我吗?

$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $pdo->prepare('Show Tables from filecleaner');
$query->execute();

while($rows = $query->fetch(PDO::FETCH_ASSOC)){
     var_dump($rows);
}

1 个答案:

答案 0 :(得分:1)

您可以像这样在filecleaner框中显示select中的所有表名

$allTables = array(); // initialize your array
while($rows = $query->fetch(PDO::FETCH_BOTH)){ 
    $allTables[] = $rows[0]; // store all table name in an array. $rows[0] index will give you table name from filecleaner
}

然后,显示如下:

<select>
    <option>Select Table</option>
    <?php
    foreach ($allTables as $key => $value) {
    ?>
        <option><?=$value?></option>
    <?php
    }
    ?>
</select>

编辑:

我认为您由于$rows[0]而没有得到FETCH_ASSOC,因此您需要在此处使用FETCH_BOTH来获得0个索引列号。

代码中的问题是: FETCH_ASSOC返回一个按列名索引的数组,而您尝试显示的索引列号为0。

Reference