57
57
} else if (!empty($selected_fld)) {
58
58
$selected = $selected_fld;
59
if ($submit_mult == $strDrop) {
62
require('./tbl_alter.php');
59
switch ($submit_mult) {
64
// Gets table primary key
65
PMA_DBI_select_db($db);
66
$result = PMA_DBI_query('SHOW KEYS FROM ' . PMA_backquote($table) . ';');
68
while ($row = PMA_DBI_fetch_assoc($result)) {
69
// Backups the list of primary keys
70
if ($row['Key_name'] == 'PRIMARY') {
71
$primary .= $row['Column_name'] . ', ';
74
PMA_DBI_free_result($result);
75
if (empty($primary)) {
76
// no primary key, so we can safely create new
78
$query_type = 'primary_fld';
81
// primary key exists, so lets as user
82
$what = 'primary_fld';
87
$query_type = 'index_fld';
92
$query_type = 'unique_fld';
97
$query_type = 'fulltext_fld';
101
require('./tbl_alter.php');
65
105
$what = 'row_delete';
159
if ($full_query == '') {
160
$full_query .= 'ALTER TABLE '
161
. PMA_backquote(htmlspecialchars($table))
162
. '<br /> DROP PRIMARY KEY,'
163
. '<br /> ADD PRIMARY KEY('
164
. '<br /> '
165
. PMA_backquote(htmlspecialchars(urldecode($sval)))
168
$full_query .= '<br /> '
169
. PMA_backquote(htmlspecialchars(urldecode($sval)))
172
if ($i == $selected_cnt-1) {
173
$full_query = preg_replace('@,$@', ');<br />', $full_query);
120
178
if ($full_query == '') {
121
179
$full_query .= 'ALTER TABLE '
138
197
// Displays the form
139
echo $strDoYouReally . ' :<br />' . "\n";
199
<!-- Do it really ? -->
200
<table border="0" cellpadding="3" cellspacing="0">
202
<th class="tblHeadError" align="left">
204
echo ($GLOBALS['cfg']['ErrorIconic'] ? '<img src="' . $GLOBALS['pmaThemeImage'] . 's_really.png" border="0" hspace="2" width="11" height="11" valign="middle" />' : '');
205
echo $strDoYouReally . ': ' . "\n";
210
<td bgcolor="<?php echo $GLOBALS['cfg']['BgcolorOne']; ?>">
140
212
echo '<tt>' . $full_query . '</tt> ?<br/>' . "\n";
217
<td align="right" nowrap="nowrap">
142
218
<form action="<?php echo $action; ?>" method="post">
162
238
echo '<input type="hidden" name="original_url_query" value="' . $original_url_query . '" />' . "\n";
165
<input type="submit" name="mult_btn" value="<?php echo $strYes; ?>" />
166
<input type="submit" name="mult_btn" value="<?php echo $strNo; ?>" />
241
<input type="submit" name="mult_btn" value="<?php echo $strYes; ?>" id="buttonYes" />
242
<input type="submit" name="mult_btn" value="<?php echo $strNo; ?>" id="buttonNo" />
185
264
$selected_cnt = count($selected);
265
$run_parts = FALSE; // whether to run query after each pass
266
$use_sql = FALSE; // whether to include sql.php at the end (to display results)
268
if ($query_type == 'primary_fld') {
269
// Gets table primary key
270
PMA_DBI_select_db($db);
271
$result = PMA_DBI_query('SHOW KEYS FROM ' . PMA_backquote($table) . ';');
273
while ($row = PMA_DBI_fetch_assoc($result)) {
274
// Backups the list of primary keys
275
if ($row['Key_name'] == 'PRIMARY') {
276
$primary .= $row['Column_name'] . ', ';
279
PMA_DBI_free_result($result);
186
282
for ($i = 0; $i < $selected_cnt; $i++) {
187
283
switch ($query_type) {
188
284
case 'row_delete':
189
285
$a_query = urldecode($selected[$i]);
207
305
case 'check_tbl':
208
306
$sql_query .= (empty($sql_query) ? 'CHECK TABLE ' : ', ')
209
307
. PMA_backquote(urldecode($selected[$i]));
212
311
case 'optimize_tbl':
213
312
$sql_query .= (empty($sql_query) ? 'OPTIMIZE TABLE ' : ', ')
214
313
. PMA_backquote(urldecode($selected[$i]));
217
317
case 'analyze_tbl':
218
318
$sql_query .= (empty($sql_query) ? 'ANALYZE TABLE ' : ', ')
219
319
. PMA_backquote(urldecode($selected[$i]));
222
323
case 'repair_tbl':
223
324
$sql_query .= (empty($sql_query) ? 'REPAIR TABLE ' : ', ')
224
325
. PMA_backquote(urldecode($selected[$i]));
227
329
case 'empty_tbl':
239
342
. ' DROP ' . PMA_backquote(urldecode($selected[$i]))
240
343
. (($i == $selected_cnt-1) ? ';' : '');
347
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ( empty($primary) ? '' : ' DROP PRIMARY KEY,') . ' ADD PRIMARY KEY( ' : ', ')
348
. PMA_backquote(urldecode($selected[$i]))
349
. (($i == $selected_cnt-1) ? ');' : '');
353
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ' ADD INDEX( ' : ', ')
354
. PMA_backquote(urldecode($selected[$i]))
355
. (($i == $selected_cnt-1) ? ');' : '');
359
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ' ADD UNIQUE( ' : ', ')
360
. PMA_backquote(urldecode($selected[$i]))
361
. (($i == $selected_cnt-1) ? ');' : '');
365
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ' ADD FULLTEXT( ' : ', ')
366
. PMA_backquote(urldecode($selected[$i]))
367
. (($i == $selected_cnt-1) ? ');' : '');
244
371
// All "DROP TABLE","DROP FIELD", "OPTIMIZE TABLE" and "REPAIR TABLE"
245
372
// statements will be run at once below
246
if ($query_type != 'drop_tbl'
247
&& $query_type != 'drop_fld'
248
&& $query_type != 'repair_tbl'
249
&& $query_type != 'analyze_tbl'
250
&& $query_type != 'optimize_tbl'
251
&& $query_type != 'check_tbl') {
253
374
$sql_query .= $a_query . ';' . "\n";
255
375
if ($query_type != 'drop_db') {
256
PMA_mysql_select_db($db);
376
PMA_DBI_select_db($db);
258
$result = @PMA_mysql_query($a_query) or PMA_mysqlDie('', $a_query, FALSE, $err_url);
378
$result = @PMA_DBI_query($a_query) or PMA_mysqlDie('', $a_query, FALSE, $err_url);
262
if ($query_type == 'drop_tbl'
263
|| $query_type == 'drop_fld') {
264
PMA_mysql_select_db($db);
265
$result = @PMA_mysql_query($sql_query) or PMA_mysqlDie('', '', FALSE, $err_url);
266
} elseif ($query_type == 'repair_tbl'
267
|| $query_type == 'analyze_tbl'
268
|| $query_type == 'check_tbl'
269
|| $query_type == 'optimize_tbl') {
270
383
require('./sql.php');
384
} elseif (!$run_parts) {
385
PMA_DBI_select_db($db);
386
$result = PMA_DBI_query($sql_query);