因此,我有以下代码使用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);
}
答案 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。