138 lines
6.3 KiB
PHTML
138 lines
6.3 KiB
PHTML
<form method="post" action="tbl_relation.php">
|
|
<?= PMA_URL_getHiddenInputs($db, $table); ?>
|
|
<!-- InnoDB -->
|
|
<?php if (PMA\libraries\Util::isForeignKeySupported($tbl_storage_engine)): ?>
|
|
<fieldset>
|
|
<legend><?= __('Foreign key constraints'); ?></legend>
|
|
<table id="foreign_keys" class="relationalTable">
|
|
<tr>
|
|
<th><?= __('Actions'); ?></th>
|
|
<th><?= __('Constraint properties'); ?></th>
|
|
<?php if (strtoupper($tbl_storage_engine) == 'INNODB'): ?>
|
|
<th><?= __('Column') , PMA\libraries\Util::showHint(__(
|
|
'Creating a foreign key over a non-indexed column would automatically create'
|
|
. ' an index on it. Alternatively, you can define an index below, before creating'
|
|
. ' the foreign key.'
|
|
)) ?>
|
|
</th>
|
|
<?php else: ?>
|
|
<th><?= __('Column') , PMA\libraries\Util::showHint(__(
|
|
'Only columns with index will be displayed. You can define an'
|
|
. ' index below.'
|
|
)) ?>
|
|
</th>
|
|
<?php endif; ?>
|
|
<th colspan="3">
|
|
<?= __('Foreign key constraint'); ?> (<?= $tbl_storage_engine; ?>)
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th></th>
|
|
<th></th>
|
|
<th></th>
|
|
<th><?= __('Database'); ?></th>
|
|
<th><?= __('Table'); ?></th>
|
|
<th><?= __('Column'); ?></th>
|
|
</tr>
|
|
<?php $odd_row = true; $i = 0; ?>
|
|
<?php if (! empty($existrel_foreign)): ?>
|
|
<?php foreach ($existrel_foreign as $key => $one_key): ?>
|
|
<?= PMA\libraries\Template::get('table/relation/foreign_key_row')->render(
|
|
array(
|
|
'one_key' => $one_key,
|
|
'odd_row' => $odd_row,
|
|
'columns' => $columns,
|
|
'i' => $i++,
|
|
'options_array' => $options_array,
|
|
'tbl_storage_engine' => $tbl_storage_engine,
|
|
'db' => $db
|
|
)
|
|
);
|
|
$odd_row = ! $odd_row;?>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|
|
<?= PMA\libraries\Template::get('table/relation/foreign_key_row')->render(
|
|
array(
|
|
'one_key' => array(),
|
|
'odd_row' => $odd_row,
|
|
'columns' => $columns,
|
|
'i' => $i++,
|
|
'options_array' => $options_array,
|
|
'tbl_storage_engine' => $tbl_storage_engine,
|
|
'db' => $db
|
|
)
|
|
); ?>
|
|
<tr>
|
|
<td colspan="5">
|
|
<a class="formelement clearfloat add_foreign_key" href="">
|
|
<?= __('+ Add constraint'); ?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</fieldset>
|
|
<?php endif; ?>
|
|
|
|
<?php if ($cfgRelation['relwork']): ?>
|
|
<?php if (PMA\libraries\Util::isForeignKeySupported($tbl_storage_engine)): ?>
|
|
<br/>
|
|
<?= PMA\libraries\Util::getDivForSliderEffect('ir_div', __('Internal relations')) ?>
|
|
<?php endif; ?>
|
|
|
|
<?php $save_row = array_values($columns);
|
|
$saved_row_cnt = count($save_row);?>
|
|
<fieldset>
|
|
<legend><?= __('Internal relations') , PMA\libraries\Util::showDocu('config', 'cfg_Servers_relation'); ?></legend>
|
|
<table id="internal_relations" class="relationalTable">
|
|
<tr>
|
|
<th><?= __('Column'); ?></th>
|
|
<th><?= __('Internal relation'); ?>
|
|
<?php if (PMA\libraries\Util::isForeignKeySupported($tbl_storage_engine)): ?>
|
|
<?= PMA\libraries\Util::showHint(__(
|
|
'An internal relation is not necessary when a corresponding'
|
|
. ' FOREIGN KEY relation exists.')); ?>
|
|
<?php endif; ?>
|
|
</th>
|
|
<?php $odd_row = true; ?>
|
|
<?php for ($i = 0; $i < $saved_row_cnt; $i++): ?>
|
|
<?= PMA\libraries\Template::get('table/relation/internal_relational_row')->render(
|
|
array(
|
|
'save_row' => $save_row,
|
|
'i' => $i,
|
|
'odd_row' => $odd_row,
|
|
'existrel' => $existrel,
|
|
'db' => $db
|
|
)
|
|
);
|
|
$odd_row = ! $odd_row; ?>
|
|
<?php endfor; ?>
|
|
</table>
|
|
</fieldset>
|
|
<?php if (PMA\libraries\Util::isForeignKeySupported($tbl_storage_engine)): ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
|
|
<?php if ($cfgRelation['displaywork']): ?>
|
|
<?php $save_row = array_values($columns);?>
|
|
<?php $disp = PMA_getDisplayField($db, $table); ?>
|
|
<fieldset>
|
|
<label><?= __('Choose column to display:'); ?></label>
|
|
<select name="display_field">
|
|
<option value="">---</option>
|
|
<?php foreach ($save_row as $row): ?>
|
|
<option value="<?= htmlspecialchars($row['Field']); ?>"
|
|
<?php if (isset($disp) && $row['Field'] == $disp): ?>
|
|
selected="selected"
|
|
<?php endif; ?>>
|
|
<?= htmlspecialchars($row['Field']); ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</fieldset>
|
|
<?php endif; ?>
|
|
|
|
<fieldset class="tblFooters">
|
|
<input type="button" class="preview_sql" value="<?= __('Preview SQL'); ?>" />
|
|
<input type="submit" value="<?= __('Save'); ?>" />
|
|
</fieldset>
|
|
</form>
|