Выпадающее меню PHP MySQL с таблицами БД - PullRequest
1 голос
/ 18 марта 2019

Итак, у меня есть следующий код, использующий метод 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 Ответ

1 голос
/ 18 марта 2019

Вы можете отобразить все имена таблиц из 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 индексированный номер столбца.

Ошибка в вашем кодеis: FETCH_ASSOC возвращает массив, проиндексированный по имени столбца, и вы пытаетесь отобразить его с индексированным номером столбца 0.

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...