Как скрыть выводимый столбец в таблице? - PHP

334
21 апреля 2017, 22:12

Я подключаюсь к MySQL базе данных, получаю из нее данные. В первом столбце (Data) таблицы Data у меня должен быть файл, в котором будет много значений. Как мне сделать спойлер или скрыть этот столбец чтобы он не занимал весь экран?

<?php
    require_once 'connect.php';
    // Определим собственный класс исключений для ошибок MySQL
    class MySQL_Exception extends Exception {
        public function __construct($message) {
            parent::__construct($message);
        }
    }
?>
<!DOCTYPE HTML>
<html>
<!— Latest compiled and minified CSS —> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.." integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!— Latest compiled and minified JavaScript —> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap..." integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<head>
<meta charset="utf-8">
<title>Основы PHP и MySQL</title>
<style>

Стилизация таблиц

table { border-collapse:separate; border:none; border-spacing:0; margin:8px 12px 18px 6px; line-height:1.2em; margin-left:auto; margin-right:auto; overflow: auto }
table th { font-weight:bold; background:#666; color:white; border:1px solid #666; border-right:1px solid white }
table th:last-child { border-right:1px solid #666 }
table caption { font-style:italic; margin:10px 0 20px 0; text-align:center; color:#666; font-size:1.2em }
tr{ border:none }
td { border:1px solid #666; border-width:1px 1px 0 0 }
td, th { padding:15px }
tr td:first-child { border-left-width:1px }
tr:last-child td { border-bottom-width:1px }
</style>
</head>

<?php
    try {
        // Запрос к базе данных
        $result = $link->query('SHOW TABLES');
        // В случае неудачного запроса генерируем исключение
        if (!$result) throw new MySQL_Exception($link->error);
        // Отображаем результаты            
        //echo '<p>Таблицы, имеющиеся в базе данных: </p>';     
        while ($row = $result->fetch_row()) {
            // Усложним задачу отобразив структуру таблиц
            echo "<table><caption> {$row[0]} </caption><tr>";
            // Получить названия столбцов
            $result1 = $link->query("SELECT * FROM {$row[0]}");
            if (!$result1) throw new MySQL_Exception($link->error);
            for($i = 0; $i < $link->field_count; $i++)
            {
                $field_info = $result1->fetch_field();
                echo "<th>{$field_info->name}</th>";
            }
            echo '</tr>';
            // Получить данные
            while ($row1 = $result1->fetch_row()) {
                echo '<tr>';
                foreach($row1 as $_column) {
                    echo "<td>{$_column}</td>";
                }
                echo "</tr>";
            }
            echo '</table>';
        }

        $result1 = $link->query("SELECT * FROM {$row[0]}");
    }
    catch (Exception $ex) {
        echo 'Ошибка при работе с MySQL: <b style="color:red;">'.$ex->getMessage().'</b>';
    }
?>
</body>
</html>
Answer 1

Самое примитивное условие:

while ($row1 = $result1->fetch_assoc()) {
    echo '<tr>';
    foreach($row1 as $field => $_column) {
        if ($field == 'data') {/** здесь значение Data */}
        echo "<td>{$_column}</td>";
    }
    echo "</tr>";
}
READ ALSO
Как выводить разную структуру постов в одном цикле wordpress?

Как выводить разную структуру постов в одном цикле wordpress?

Добрый, подскажите как реализовать вывод постов с разными калссами и разной структурой в одном цикле, не понимаю как это сделатьНапример:

275
Почему слеш в конце адресной строки ломает сайт, построенный по принципу единой точки входа?

Почему слеш в конце адресной строки ломает сайт, построенный по принципу единой точки входа?

Реализация по принципу единой точки входа, содержимое адресной строки разбивается $routes = explode('/', $_SERVER['REQUEST_URI']) и результаты передаются в обработчики

330
Advanced Custom Fields, двойное сохранение поля

Advanced Custom Fields, двойное сохранение поля

Подскажите, почему поле из плагина acf сохраняется дважды? Подозреваю, что срабатывает стандартный хук save_post и хук acf/save_post одновременноНужно...

273
Как сделать скрытую переадресацию?

Как сделать скрытую переадресацию?

скажем у меня есть два доменных именни: onecom и two

223