'; $icon['edit']=''.$lang['edit'].''; $icon['empty']=''.$lang['empty'].''; $icon['empty_keys']=''.$lang['emptykeys'].''; $icon['delete']=''.$lang['delete'].''; $icon['key_primary']='primary key'; // fuegt eine Sortierungsnummer hinzu, um die Ausgabereihenfolge der Daten steuern zu koennen // (das Feld ENGINE interessiert mich nicht so sehr und muss nicht vorne stehen) $keysort=array( 'Name' => 0, 'Rows' => 1, 'Data_length' => 2, 'Auto_increment' => 3, 'Avg_row_length' => 4, 'Max_data_length' => 5, 'Comment' => 6, 'Row_format' => 7, 'Index_length' => 8, 'Data_free' => 9, 'Collation' => 10, 'Create_time' => 11, 'Update_time' => 12, 'Check_time' => 13, 'Create_options' => 14, 'Version' => 15, 'Engine' => 16, 'Checksum' => 17 ); $byte_output=array('Data_length','Avg_row_length','Max_data_length','Index_length','Data_free'); function add_sortkey($name) { global $keysort; //echo "
Uebergeben: ".$name; if (array_key_exists($name,$keysort)) $ret=$keysort[$name]; else $ret=0; return $ret; } //Data-View echo $aus.'

'.(($showtables==1)?$lang['sql_tableview']:$lang['sql_dataview']).'

'; if($showtables==0){ $p='sql.php?sql_statement='.urlencode($sql['sql_statement']).'&db='.$db.'&tablename='.$tablename.'&dbid='.$dbid.'&limitstart='.$limitstart.'&order='.$order.'&orderdir='.$orderdir.'&tdc='.$tdcompact; echo ''.$lang['sql_recordnew'].'    '; echo ''.$lang['sql_edit_tablestructure'].''; } else { $p='sql.php?db='.$db.'&dbid='.$dbid.'&context=2'; echo ''.$lang['sql_tablenew'].''; } //Statuszeile $tn=ExtractTablenameFromSQL($sql['sql_statement']); echo '

 '.($tn!='' ? $lang['table'].' '.$tn : '').'

'; if(isset($msg))echo $msg; //SQL ausführen if($sql_to_display_data==0) { //mehrere SQL-Statements $numrowsabs=$numrows=0; MSD_DoSQL($sql['sql_statement']); echo SQLOutput($out); } else { $numrowsabs=$numrows=0; $res=MSD_query($sql['sql_statement']) or die(SQLError($sql['sql_statement'],mysql_error())); $numrowsabs=mysql_num_rows($res); $sqltmp=$sql['sql_statement'].$sql['order_statement'].(strpos(strtolower($sql['sql_statement'].$sql['order_statement']),' limit ') ? '' : $limit); $res=MSD_query($sqltmp) or die(SQLError($sqltmp,mysql_error())); $numrows=mysql_num_rows($res); if($limitende>$numrowsabs)$limitende=$numrowsabs; } if($numrowsabs>0 && $Anzahl_SQLs<=1) { if($showtables==0) { $command_line=$lang['info_records']." ".($limitstart+1)." - $limitende ".$lang['sql_vonins']." $numrowsabs    "; $command_line.=($limitstart>0) ? '<<    ' : '<<    '; $command_line.=($limitstart>0) ? '<    ' : '<    '; $command_line.=($limitende<$numrowsabs) ? '>    ' : '>    '; $command_line.=($limitende<($numrowsabs-$config['sql_limit'])) ? '>>' : '>>'; echo $command_line; } else { echo $numrowsabs." ".$lang['tables']; } echo '

'; //Datentabelle echo ''; $t=$d=""; $fdesc=Array(); $key=-1; if ($numrows>0) { //Infos und Header holen //1.Datensatz für Feldinfos $row= mysql_fetch_row($res); //Kompaktmodus-Switcher $t=''; $t.=''; $temp=array(); for($x=0; $xname); } //v($temp); if ($showtables==1) $temp=mu_sort($temp,'sort'); for($x=0; $xname]['name']=isset($str->name) ? $str->name:''; $fdesc[$temp[$x]['data']->name]['table']=isset($str->table) ? $str->table:''; $fdesc[$temp[$x]['data']->name]['max_length']=isset($str->max_length) ? $str->max_length:''; $fdesc[$temp[$x]['data']->name]['not_null']=isset($str->not_null) ? $str->not_null:''; $fdesc[$temp[$x]['data']->name]['primary_key']=isset($str->primary_key) ? $str->primary_key:''; $fdesc[$temp[$x]['data']->name]['unique_key']=isset($str->unique_key) ? $str->unique_key:''; $fdesc[$temp[$x]['data']->name]['multiple_key']=isset($str->multiple_key) ? $str->multiple_key:''; $fdesc[$temp[$x]['data']->name]['numeric']=isset($str->numeric) ? $str->numeric:''; $fdesc[$temp[$x]['data']->name]['blob']=isset($str->blob) ? $str->blob:''; $fdesc[$temp[$x]['data']->name]['type']=isset($str->type) ? $str->type:''; $fdesc[$temp[$x]['data']->name]['unsigned']=$str->unsigned; $fdesc[$temp[$x]['data']->name]['zerofill']=$str->zerofill; $fdesc[$temp[$x]['data']->name]['Check_time']=isset($str->Check_time) ? $str->Check_time:''; $fdesc[$temp[$x]['data']->name]['Checksum']=isset($str->Checksum) ? $str->Checksum:''; $fdesc[$temp[$x]['data']->name]['Engine']=isset($str->Engine) ? $str->Engine:''; $fdesc[$temp[$x]['data']->name]['Version']=isset($str->Version) ? $str->Version:''; $tt="Name: ".$fdesc[$temp[$x]['data']->name]['name'] ."\nType: ".$fdesc[$temp[$x]['data']->name]['type'] ."\nMax Length: ".$fdesc[$temp[$x]['data']->name]['max_length'] ."\nUnsigned: ".$fdesc[$temp[$x]['data']->name]['unsigned'] ."\nzerofill: ".$fdesc[$temp[$x]['data']->name]['zerofill']; $pic=''; if($str->primary_key==1 || $str->unique_key==1) { if($key==-1) $key=$temp[$x]['data']->name; if($str->primary_key==1) $pic=$icon['key_primary']; elseif($str->unique_key==1) $pic='unique key'; } if($bb==-1) $bb_link=($str->type=="blob") ? '   [BB]' : ''; else $bb_link=($str->type=="blob") ? '   [no BB]' : ''; if($no_order==false && $showtables==0) $t.=$pic.' '.$str->name.''.$bb_link; else $t.=$pic.' '.$str->name.''.$bb_link; $arname=($orderdir==" ASC") ? "arup.gif" : "ardown.gif"; if($str->name==$order)$t.='  '; $t.=''; } unset($temp); $temp=array(); //und jetzt Daten holen mysql_data_seek ($res, 0); $s=$keysort; $s=array_flip($keysort); ksort($s); for ($i=0;$i<$numrows;$i++) { $data[0]=mysql_fetch_array($res,MYSQL_ASSOC); if ($showtables==1) { // Spalten sortieren, wenn wir uns in einer Tabellenuebersicht befinden $xx=mu_sort($data,"$s[0],$s[1],$s[2],$s[3],$s[4],$s[5],$s[6],$s[7],$s[8],$s[9],$s[10],$s[11],$s[12],$s[13],$s[14],$s[15],$s[16]"); $temp[$i]=$xx[0]; } else $temp[$i]=$data[0]; } for ($i=0;$i<$numrows;$i++) { $row= $temp[$i]; // mysql_fetch_row($res); $cl= ($i % 2) ? 'dbrow' : 'dbrow1'; $erste_spalte=1; // bei Tabellenuebersicht soll nach vorgefertigter Reihenfolge sortiert werden, ansonsten einfach Daten anzeigen if ($showtables==1) $sortkey=$keysort; else $sortkey=$row; $spalte=0; foreach ($sortkey as $rowkey=>$rowval) { if ($rowkey=='Name') $tablename=$row['Name']; if($erste_spalte==1) { //edit-pics $d.=$nl.''; $erste_spalte=0; } $d.=''; } // Tabellenueberschrift en ausgeben if($i==0) echo ''.$t.''; // Daten anzeigen echo "\n\n".''.$d.''."\n\n"; $d=""; } } echo '
'.(($tdcompact==0) ? 'Ansicht: normal' : 'Ansicht: kompakt').''; $t.='   '.$lang['sql_queryentry'].' '.count($row).' '.$lang['sql_columns']; $t.='
  '.$nl; $p='sql.php?sql_statement='.urlencode($sql['sql_statement']).'&db='.$db.'&tablename='.$tablename.'&dbid='.$dbid.'&limitstart='.$limitstart.'&order='.$order.'&orderdir='.$orderdir.'&editkey='.$rowkey.'&tdc='.$tdcompact; if($key==-1) { $rk=''; foreach ($row as $rowkey2=>$rowval2) { if (isset($fdesc[$rowkey2])) $rk.="`".$fdesc[$rowkey2]."`='".$rowval2."' AND "; } // AND abschneiden $p.='&recordkey='.urlencode(substr($rk,0,strlen($rk)-5)); } else { //Key vorhanden $p.='&recordkey='.urlencode("`".$fdesc[$key]['name']."`='".$rowval."'"); } if($showtables==1) $p.='&recordkey='.$tablename; if(!$no_edit) { if($showtables==0) { $d.=''.$icon['edit'].' '; } } if($showtables==0) { $d.=''.$icon['delete'].''; } else { if($tabellenansicht==1) { $d.=''.$icon['edit'].' '.$nl.$nl; $d.=''.$icon['empty'].' '.$nl.$nl; $d.=''.$icon['empty_keys'].' '.$nl.$nl; $d.=''.$icon['delete'].' '.$nl.$nl; } } $d.=''; $divstart=''; $divend=''; if($bb==$spalte) { $data=simple_bbcode_conversion($rowval); } else { if ($showtables==0) { if (isset($fdesc[$rowkey]['type'])) $data=($fdesc[$rowkey]['type']=='string' || $fdesc[$rowkey]['type']=='blob') ? strip_tags($rowval) : $rowval; } else { if (isset($temp[$i][$rowkey])) $data=($fdesc[$rowkey]['type']=='string' || $fdesc[$rowkey]['type']=='blob') ? strip_tags($temp[$i][$rowkey]) : $temp[$i][$rowkey]; else $data=''; if (in_array($rowkey,$byte_output)) $data=byte_output($data); } } $spalte++; $browse_link=''; $d.=($tabellenansicht==1 && $rowkey=='Name') ? $divstart.$browse_link.$icon['browse']." ".$browse_link.$data."$divend" : $divstart.$data.$divend; $d.='
'; if($showtables==0) echo '
'.$command_line; } else echo '

'.$lang['sql_nodata'].'

'; ?>