'.$lang['L_SQL_TABLESOFDB'].' `'.$databases['Name'][$dbid].'` '.$lang['L_SQL_EDIT'].''; //Primaerschluessel loeschen if (isset($_GET['killPrimaryKey'])) { $keys=getPrimaryKeys($databases['Name'][$dbid],$_GET['tablename']); //Zu loeschenden Schluessel aus dem Array entfernen $keyPos=array_search($_GET['killPrimaryKey'],$keys['name']); if (!(false===$keyPos)) { unset($keys['name'][$keyPos]); unset($keys['size'][$keyPos]); $keys['name']=array_values($keys['name']); $keys['size']=array_values($keys['size']); $res=setNewPrimaryKeys($databases['Name'][$dbid], $_GET['tablename'], $keys['name'], $keys['size']); if ($res) { echo ''; } else { echo ''; } } else { echo ''; } } //Primärschlüssel löschen ende //Neue Schlüssel setzen if (isset($_POST['setNewKeys'])) { $fields=getAllFields($databases['Name'][$dbid],$_GET['tablename']); $newKeysArray=Array(); $newKeySizesArray=Array(); foreach ($fields as $index=>$field) { if ((isset($_POST["setNewKey".$index]))&&($_POST["setNewKey".$index]!="")) { $newKeysArray[]=$_POST["setNewKey".$index]; $newKeySizesArray[]=isset($_POST["indexSize".$index]) ? (int) $_POST["indexSize".$index]:''; } } //doppelte Elemente entfernen $newKeysArray=array_unique($newKeysArray); $newKeySizesArray=array_intersect_key($newKeySizesArray, $newKeysArray); if ($_POST["indexType"]=="primary") { $res=setNewPrimaryKeys($databases['Name'][$dbid], $_GET['tablename'], $newKeysArray, $newKeySizesArray); if ($res) { echo ''; } else { echo ''; } } else { if ($_POST["indexType"]=="unique") { $newIndexType="UNIQUE"; } elseif ($_POST["indexType"]=="fulltext") { $newIndexType="FULLTEXT"; } else { $newIndexType="INDEX"; } $res=setNewKeys($databases['Name'][$dbid], $_GET['tablename'], $newKeysArray, $newIndexType, $_POST['indexName'], $newKeySizesArray); if ($res) { echo ''; } else { echo ''; } } } //Andere Indizes löschen if (isset($_GET['killIndex'])) { $res = killKey($databases['Name'][$dbid], $_GET['tablename'], $_GET['killIndex']); if ($res) { echo ''; } else { echo ''; } } if (isset($_GET['kill'])) { if ($_GET['anz']==1) echo '

'.$lang['L_SQL_NOFIELDDELETE'].'

'; else { $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_GET['tablename']."` DROP COLUMN `".$_GET['kill']."`"; $res = MSD_DoSQL($sql_alter); if ($res) { echo '
'; echo '

'.$lang['L_SQL_FIELDDELETE1'].' `'.$_GET['kill'].'` '.$lang['L_SQL_DELETED'].'.

'.highlight_sql($out).'
'; } } } if (isset($_POST['tablecopysubmit'])) { $table_edit_name=$_GET['tablename']; if ($_POST['tablecopyname']=="") { echo '

'.$lang['L_SQL_NODEST_COPY'].'

'; } elseif (Table_Exists($databases['Name'][$dbid],$_POST['tablecopyname'])) { echo '

'.$lang['L_SQL_DESTTABLE_EXISTS'].'

'; } else { Table_Copy("`".$databases['Name'][$dbid]."`.`".$table_edit_name."`",$_POST['tablecopyname'],$_POST['copyatt']); echo '
'; echo ($_POST['copyatt']==0) ? '

'.sprintf($lang['L_SQL_SCOPY'],$table_edit_name,$_POST['tablecopyname']).'

' : sprintf($lang['L_SQL_TCOPY'],$table_edit_name,$_POST['tablecopyname']).'

'; echo highlight_sql($out).'
'; $tablename=$_POST['tablecopyname']; } } if (isset($_POST['newtablesubmit'])) { if ($_POST['newtablename']=="") { echo '

'.$lang['L_SQL_TABLENONAME'].'

'; } else { $sql_alter="CREATE TABLE `".$databases['Name'][$dbid]."`.`".$_POST['newtablename']."` (`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY ) ".((MSD_NEW_VERSION) ? "ENGINE" : "TYPE")."=MyISAM;"; $res = MSD_DoSQL($sql_alter); if ($res) { echo SQLOutput($out,$lang['L_TABLE'].' `'.$_POST['newtablename'].'` '.$lang['L_SQL_CREATED']); } } } if (isset($_POST['t_edit_submit'])) { $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_POST['table_edit_name']."` "; if ($_POST['t_edit_name']=="") echo '

'.$lang['L_SQL_TBLNAMEEMPTY'].'

'; elseif (MSD_NEW_VERSION&&$_POST['t_edit_collate']!=""&&substr($_POST['t_edit_collate'],0,strlen($_POST['t_edit_charset']))!=$_POST['t_edit_charset']) echo '

'.$lang['L_SQL_COLLATENOTMATCH'].'

'; else { if ($_POST['table_edit_name']!=$_POST['t_edit_name']) { $sql_alter.="RENAME TO `".$_POST['t_edit_name']."`, "; $table_edit_name=$_POST['t_edit_name']; } else $table_edit_name=$_POST['table_edit_name']; if ($_POST['t_edit_engine']!="") $sql_alter.=((MSD_NEW_VERSION) ? "ENGINE=" : "TYPE=").$_POST['t_edit_engine'].", "; if ($_POST['t_edit_rowformat']!="") $sql_alter.="ROW_FORMAT=".$_POST['t_edit_rowformat'].", "; if (MSD_NEW_VERSION&&$_POST['t_edit_charset']!="") $sql_alter.="DEFAULT CHARSET=".$_POST['t_edit_charset'].", "; if (MSD_NEW_VERSION&&$_POST['t_edit_collate']!="") $sql_alter.="COLLATE ".$_POST['t_edit_collate'].", "; $sql_alter.="COMMENT='".$_POST['t_edit_comment']."' "; $res = MSD_DoSQL($sql_alter); if ($res) { echo SQLOutput($out,$lang['L_TABLE'].' `'.$_POST['table_edit_name'].'` '.$lang['L_SQL_CHANGED']); } } } else { if (!isset($table_edit_name)||$table_edit_name=="") { $table_edit_name=(isset($_GET['tablename'])) ? $_GET['tablename'] : ""; if (isset($_POST['tableselect'])) $table_edit_name=$_POST['tableselect']; if (isset($_POST['newtablesubmit'])) $table_edit_name=$_POST['newtablename']; } } if (isset($_POST['newfield_posted'])) { //build sql for alter if ($_POST['f_name']=='') { echo '

'.$lang['L_SQL_FIELDNAMENOTVALID'].' ('.$_POST['f_name'].')

'; $field_fehler=1; } else { //alter Key $oldkeys[0]=$_POST['f_primary']; $oldkeys[1]=$_POST['f_unique']; $oldkeys[2]=$_POST['f_index']; $oldkeys[3]=$_POST['f_fulltext']; //neuer Key $newkeys[0]=($_POST['f_index_new']=="primary") ? 1 : 0; $newkeys[1]=($_POST['f_index_new']=="unique") ? 1 : 0; $newkeys[2]=($_POST['f_index_new']=="index") ? 1 : 0; $newkeys[3]=(isset($_POST['f_indexfull'])) ? 1 : 0; $add_sql.=ChangeKeys($oldkeys,$newkeys,$_POST['f_name'],$_POST['f_size'],"drop_only"); $sql_stamm="ALTER TABLE `".$databases['Name'][$dbid]."`.`$table_edit_name` "; $sql_alter=$sql_stamm.((isset($_POST['editfield'])) ? "CHANGE COLUMN `".$_POST['fieldname']."` `".$_POST['f_name']."` " : "ADD COLUMN `".$_POST['f_name']."` "); $sql_alter.=$_POST['f_type']; $wl=stripslashes($_POST['f_size']); if ($wl!=""&&!preg_match('@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT)$@i',$_POST['f_type'])) { $sql_alter.="($wl) "; } elseif ($_POST['f_size']==""&&preg_match('@^(VARCHAR)$@i',$_POST['f_type'])) { $sql_alter.="("."255".") "; } else $sql_alter.=" "; $sql_alter.=$_POST['f_attribut']." "; $sql_alter.=$_POST['f_null']." "; $sql_alter.=($_POST['f_default']!="") ? "DEFAULT '".addslashes($_POST['f_default'])."' " : ""; if (MSD_NEW_VERSION&&$_POST['f_collate']!="") $sql_alter.="COLLATE ".$_POST['f_collate']." "; if ($_POST['f_extra']=="AUTO_INCREMENT") { $sql_alter.=" AUTO_INCREMENT "; } $sql_alter.=$_POST['f_position']; if ($newkeys[0]==1) $sql_alter.=", ADD PRIMARY KEY (`".$_POST['f_name']."`)"; if ($newkeys[1]==1) $sql_alter.=", ADD UNIQUE (`".$_POST['f_name']."`)"; if ($newkeys[2]==1) $sql_alter.=", ADD INDEX (`".$_POST['f_name']."`)"; if ($newkeys[3]==1) $sql_alter.=", ADD FULLTEXT INDEX (`".$_POST['f_name']."`)"; $sql_alter.=";"; if ($add_sql!="") { $add_sql=$sql_stamm.$add_sql; $sql_alter="$sql_alter\n$add_sql;"; } $res = MSD_DoSQL($sql_alter); if ($res) { echo '
'; echo '

`'.$_POST['f_name'].'` '.((isset($_POST['editfield'])) ? $lang['L_SQL_CHANGED'] : $lang['L_SQL_CREATED']).'

'; echo highlight_sql($out).'
'; } $fields_infos=getFieldinfos($databases['Name'][$dbid],$table_edit_name); } } mysqli_select_db($GLOBALS["___mysqli_ston"], $databases['Name'][$dbid]); $sqlt="SHOW TABLE STATUS FROM `".$databases['Name'][$dbid]."` ;"; $res=MSD_query($sqlt); $anz_tabellen=mysqli_num_rows($res); $p="sql.php?db=".$databases['Name'][$dbid]."&dbid=$dbid&tablename=$table_edit_name&context=2"; echo '
'; echo ''; echo ''; if ($anz_tabellen==0) { echo ''; } else { echo ''; echo ''; echo ''; } echo '
'.$lang['L_SQL_CREATETABLE'].':
'.$lang['L_SQL_COPYTABLE'].':
'.$lang['L_SQL_NOTABLESINDB'].' `'.$databases['Name'][$dbid].'`
'.$lang['L_SQL_SELECTTABLE'].':     

 

'; if ($table_edit_name!="") { $sqlf="SHOW FULL FIELDS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name` ;"; $res=MSD_query($sqlf); $anz_fields=mysqli_num_rows($res); $fields_infos=getFieldinfos($databases['Name'][$dbid],$table_edit_name); if (MSD_NEW_VERSION) $t_engine=(isset($fields_infos['_tableinfo_']['ENGINE'])) ? $fields_infos['_tableinfo_']['ENGINE'] : "MyISAM"; else $t_engine=(isset($fields_infos['_tableinfo_']['TYPE'])) ? $fields_infos['_tableinfo_']['TYPE'] : "MyISAM"; $t_charset=(isset($fields_infos['_tableinfo_']['DEFAULT CHARSET'])) ? $fields_infos['_tableinfo_']['DEFAULT CHARSET'] : ""; $t_collation=isset($row['Collation']) ? $row['Collation'] : ""; //(isset($fields_infos['_tableinfo_']['COLLATE'])) ? $fields_infos['_tableinfo_']['COLLATE'] : ""; $t_comment=(isset($fields_infos['_tableinfo_']['COMMENT'])) ? substr($fields_infos['_tableinfo_']['COMMENT'],1,strlen($fields_infos['_tableinfo_']['COMMENT'])-2) : ""; $t_rowformat=(isset($fields_infos['_tableinfo_']['ROW_FORMAT'])) ? $fields_infos['_tableinfo_']['ROW_FORMAT'] : ""; echo "
".$lang['L_TABLE']." `$table_edit_name`
"; $td=''; //Tabelleneigenschaften echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.$lang['L_SQL_TBLPROPSOF'].' `'.$table_edit_name.'` ('.$anz_fields.' '.$lang['L_FIELDS'].')Name
Engine
Row Format
'.$lang['L_CHARSET'].'
'.$lang['L_COLLATION'].'
'.$lang['L_COMMENT'].'
 

 

'; $field_fehler=0; echo '
'.$lang['L_FIELDS_OF_TABLE'].' `'.$table_edit_name.'`
'; $d_collate=''; $d_comment=''; if (isset($_GET['newfield'])||isset($_GET['editfield'])||$field_fehler>0||isset($_POST['newfield_posted'])) { if (isset($_GET['editfield'])) $id=$_GET['editfield']; $d_name=(isset($_GET['editfield'])) ? $fields_infos[$id]['name'] : ""; $d_type=(isset($_GET['editfield'])) ? $fields_infos[$id]['type'] : ""; $d_size=(isset($_GET['editfield'])) ? $fields_infos[$id]['size'] : ""; $d_null=(isset($_GET['editfield'])) ? $fields_infos[$id]['null'] : ""; $d_attribute=(isset($_GET['editfield'])) ? $fields_infos[$id]['attributes'] : ""; $d_default=''; if (isset($id)&&isset($fields_infos[$id])&&isset($fields_infos[$id]['default'])) { if ($fields_infos[$id]['default']=='NULL') $d_default='NULL'; else $d_default=substr($fields_infos[$id]['default'],1,strlen($fields_infos[$id]['default'])-2); } $d_extra=(isset($_GET['editfield'])) ? $fields_infos[$id]['extra'] : ""; $d_primary=$d_unique=$d_index=$d_fulltext=0; if (isset($id)) { if (isset($fields_infos[$id]['collate'])) $d_collate=(isset($_GET['editfield'])) ? $fields_infos[$id]['collate'] : ""; if (isset($fields_infos[$id]['comment'])) $d_comment=(isset($_GET['editfield'])) ? $fields_infos[$id]['comment'] : ""; } $d_privileges=(isset($_GET['editfield'])) ? $fields_infos[$id]['privileges'] : ""; if (isset($_GET['editfield'])) { $d_primary=(in_array($fields_infos[$id]['name'],$fields_infos['_primarykeys_'])) ? 1 : 0; $d_index=(in_array($fields_infos[$id]['name'],$fields_infos['_key_'])) ? 1 : 0; $d_fulltext=(in_array($fields_infos[$id]['name'],$fields_infos['_fulltextkey_'])) ? 1 : 0; $d_unique=(in_array($fields_infos[$id]['name'],$fields_infos['_uniquekey_'])) ? 1 : 0; } echo '
'; if (isset($_GET['editfield'])) echo ''; if (isset($_POST['newtablesubmit'])) echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.((isset($_GET['editfield'])) ? $lang['L_SQL_EDITFIELD']." `".$d_name."`" : $lang['L_SQL_NEWFIELD']).'
Name
Type
Size 
NULL
Default
Extra
'.$lang['L_SQL_INDEXES'].'
'; echo ''; echo '  '; echo ''; echo '  '; echo ''; echo '  '; echo ' '; echo '  '; echo ''; echo '  
'.$lang['L_COLLATION'].'
'.$lang['L_SQL_ATTRIBUTES'].'
'.$lang['L_SQL_ATPOSITION'].':

 

'; } else echo ''.$lang['L_SQL_INSERTNEWFIELD'].'

'; //Felder ausgeben echo ''; for ($i=0; $i<$anz_fields; $i++) { $cl=($i%2) ? "dbrow" : "dbrow1"; if ($i==0) echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''.$td.$fields_infos[$i]['extra'].''; echo ''; echo ''; echo ""; } echo '
 FieldTypeSizeNULLKeyAttributeDefaultExtra'. $lang['L_COLLATION'].''.$lang['L_COMMENT'].'
'; echo 'edit field  '; echo 'delete field  '; echo ''.($i+1).'.'.$fields_infos[$i]['name'].''.$fields_infos[$i]['type'].''.$fields_infos[$i]['size'].''.get_output_attribut_null($fields_infos[$i]['null']).''; //key if (in_array($fields_infos[$i]['name'],$fields_infos['_primarykeys_'])) echo $icon['key_primary']; if (in_array($fields_infos[$i]['name'],$fields_infos['_fulltextkey_'])) echo $icon['key_fulltext']; if (in_array($fields_infos[$i]['name'],$fields_infos['_uniquekey_'])) echo $icon['key_unique']; if (in_array($fields_infos[$i]['name'],$fields_infos['_key_'])) echo $icon['index']; echo ''.$fields_infos[$i]['attributes'].''.$fields_infos[$i]['default'].''.((MSD_NEW_VERSION) ? $fields_infos[$i]['collate'] : " ").''.((isset($fields_infos[$i]['comment'])) ? $fields_infos[$i]['comment'] : " ").'

'; echo '
'.$lang['L_SQL_TABLEINDEXES'].' `'.$table_edit_name.'`
'; echo ' '.((MSD_NEW_VERSION) ? '' : '').' '; $sqlk="SHOW KEYS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name`;"; $res=MSD_query($sqlk); $num=mysqli_num_rows($res); if ($num==0) { echo ''; } else { for ($i=0; $i<$num; $i++) { $row=mysqli_fetch_array($res, MYSQLI_ASSOC); if (!isset($row['Comment'])) { $row['Comment'] = ''; } $cl=($i%2) ? "dbrow" : "dbrow1"; //Images echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if (MSD_NEW_VERSION) echo ''; echo ''; echo ''; echo ''; echo ''; } } echo '
  '.$lang['L_NAME'].' '.$lang['L_SQL_COLUMNS'].' '.$lang['L_INFO_SIZE'].''.$lang['L_TABLE_TYPE'].''.$lang['L_SQL_ALLOWDUPS'].' '.$lang['L_SQL_CARDINALITY'].' '.$lang['L_COMMENT'].'
'.$lang['L_SQL_TABLENOINDEXES'].'
'; if ($row['Key_name']=="PRIMARY") { echo ''; echo ''; echo ''; } else { echo ''; echo ''; echo ''; } echo ''.($i+1).'.'.$row['Key_name'].''.$row['Column_name'].''; if (isset($row['Sub_part']) && $row['Sub_part']>0) echo $row['Sub_part']; echo ''.$row['Index_type'].''.(($row['Non_unique']==1) ? $lang['L_YES'] : $lang['L_NO']).''.(($row['Cardinality']>=0) ? $row['Cardinality'] : $lang['L_NO']).''.$row['Comment'].'

'; if ((isset($_GET['sql_createindex']))&&($_GET['sql_createindex']=="1")) { ?> '; echo '
'; echo '
'.$lang['L_SETKEYSFOR'].' `'.$table_edit_name.'`
'; //kopf echo ''; //body $sqlFelder="DESCRIBE `".$databases['Name'][$dbid]."`.`".$_GET['tablename']."`;"; $res=MSD_query($sqlFelder); $num=mysqli_num_rows($res); if ($num==0) { echo ''; } else { echo ''; echo ''; echo ''; echo ''; echo '
'.$lang['L_SQL_TABLENOINDEXES'].'
'.$lang['L_NAME'].''.$lang['L_TABLE_TYPE'].'
'; echo '

'; //alle Felder holen $feldArray=Array(); echo ''; echo ''; while ($row=mysqli_fetch_array($res, MYSQLI_ASSOC)) { $feldArray[$row['Field']]=$row['Type']; } //Primaerschluessel holen, um automatisch vorzuselektieren $primaryKeys=getPrimaryKeys($databases['Name'][$dbid],$_GET['tablename']); //eine Select-Box pro Feld anzeigen, Felder für Name und Typ nur in der ersten Zeile for ($i=0; $i<$num; $i++) { echo ''; echo ''; echo ''; } $i ++; } echo '
#'.$lang['L_PRIMARYKEY_FIELD'].''.$lang['L_INFO_SIZE'].'
'.($i+1).'.'; $options ="\n\n".''; $selectedFeldTyp = false; foreach ($feldArray as $feldName=>$feldTyp) { $options.="\n".''; $type =explode('(', $selectedFeldTyp); echo '
'; //Speichern Knopf echo '
'; echo '
'; } }