113 lines
8.0 KiB
PHP
113 lines
8.0 KiB
PHP
<div class="dbm-content-header">
|
|
<div class="dbm-breadcrumb">
|
|
<a href="<?php echo Config::get('URL'); ?>database/index">Databases</a>
|
|
<span class="separator">/</span>
|
|
<a href="<?php echo Config::get('URL'); ?>database/show/<?php echo urlencode($this->database_name); ?>"><?php echo htmlspecialchars($this->database_name); ?></a>
|
|
<span class="separator">/</span>
|
|
<a href="<?php echo Config::get('URL'); ?>table/show/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>"><?php echo htmlspecialchars($this->table_name); ?></a>
|
|
<span class="separator">/</span>
|
|
<span>Structure</span>
|
|
</div>
|
|
<div class="dbm-title">
|
|
<h1>Structure: <?php echo htmlspecialchars($this->table_name); ?></h1>
|
|
<span class="badge"><?php echo count($this->columns); ?> columns</span>
|
|
</div>
|
|
<div class="dbm-actions">
|
|
<a href="<?php echo Config::get('URL'); ?>table/show/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>" class="dbm-btn dbm-btn-primary">
|
|
<i data-lucide="list"></i>
|
|
Browse Data
|
|
</a>
|
|
<a href="<?php echo Config::get('URL'); ?>table/addColumn/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>" class="dbm-btn dbm-btn-success">
|
|
<i data-lucide="plus"></i>
|
|
Add Column
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dbm-content-body">
|
|
<div class="dbm-card" style="margin-bottom: 24px;">
|
|
<div class="dbm-card-header">
|
|
<h3>Columns</h3>
|
|
</div>
|
|
<div class="dbm-table-wrapper" style="border: none; border-radius: 0;">
|
|
<table class="dbm-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Field</th>
|
|
<th>Type</th>
|
|
<th>Null</th>
|
|
<th>Key</th>
|
|
<th>Default</th>
|
|
<th>Extra</th>
|
|
<th style="width: 80px;">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($this->columns as $col): ?>
|
|
<tr>
|
|
<td style="font-weight: 500;">
|
|
<?php if ($col['Key'] === 'PRI'): ?>
|
|
<span class="key-column">
|
|
<i data-lucide="key-round" style="width: 12px; height: 12px; vertical-align: middle; margin-right: 4px;"></i>
|
|
</span>
|
|
<?php endif; ?>
|
|
<?php echo htmlspecialchars($col['Field']); ?>
|
|
</td>
|
|
<td><span class="type-column"><?php echo htmlspecialchars($col['Type']); ?></span></td>
|
|
<td><?php echo $col['Null'] === 'YES' ? '<span style="color: var(--accent-orange);">YES</span>' : 'NO'; ?></td>
|
|
<td>
|
|
<?php if ($col['Key'] === 'PRI'): ?>
|
|
<span style="color: var(--accent-green);">PRIMARY</span>
|
|
<?php elseif ($col['Key'] === 'UNI'): ?>
|
|
<span style="color: var(--accent-blue);">UNIQUE</span>
|
|
<?php elseif ($col['Key'] === 'MUL'): ?>
|
|
<span style="color: var(--accent-purple);">INDEX</span>
|
|
<?php else: ?>
|
|
-
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php echo $col['Default'] !== null ? htmlspecialchars($col['Default']) : '<span class="null-value">NULL</span>'; ?></td>
|
|
<td><span class="type-column"><?php echo htmlspecialchars($col['Extra']); ?></span></td>
|
|
<td>
|
|
<a href="<?php echo Config::get('URL'); ?>table/dropColumn/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>/<?php echo urlencode($col['Field']); ?>"
|
|
class="dbm-btn dbm-btn-sm dbm-btn-danger"
|
|
data-confirm="Drop column '<?php echo htmlspecialchars($col['Field']); ?>'? This cannot be undone!">Drop</a>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<?php if (!empty($this->indexes)): ?>
|
|
<div class="dbm-card">
|
|
<div class="dbm-card-header">
|
|
<h3>Indexes</h3>
|
|
</div>
|
|
<div class="dbm-table-wrapper" style="border: none; border-radius: 0;">
|
|
<table class="dbm-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Key Name</th>
|
|
<th>Column</th>
|
|
<th>Unique</th>
|
|
<th>Type</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($this->indexes as $idx): ?>
|
|
<tr>
|
|
<td style="font-weight: 500;"><?php echo htmlspecialchars($idx['Key_name']); ?></td>
|
|
<td><?php echo htmlspecialchars($idx['Column_name']); ?></td>
|
|
<td><?php echo $idx['Non_unique'] ? '<span style="color: var(--text-muted);">No</span>' : '<span style="color: var(--accent-green);">Yes</span>'; ?></td>
|
|
<td><span class="type-column"><?php echo htmlspecialchars($idx['Index_type']); ?></span></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|