diff options
Diffstat (limited to 'scripts/mysqlGraph.php')
-rw-r--r-- | scripts/mysqlGraph.php | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/scripts/mysqlGraph.php b/scripts/mysqlGraph.php index b9012b2..0c0e9cb 100644 --- a/scripts/mysqlGraph.php +++ b/scripts/mysqlGraph.php @@ -1,4 +1,4 @@ -<?php +<? php /* * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg * This program is free software distributed under the GPL version 2. @@ -13,7 +13,7 @@ echo "Opening Database Connection...\n"; $link = mysql_connect('localhost', 'root', '123456'); if (!$link) { - die('keine Verbindung möglich: ' . mysql_error()); + die('keine Verbindung möglich: ' . mysql_error()); } #mysql_close($link); mysql_select_db('pbs'); @@ -22,57 +22,57 @@ mysql_select_db('pbs'); $result = mysql_list_tables('pbs'); echo "Get Tables ...\n"; while ($row = mysql_fetch_row($result)) { - $tables[$row[0]] = array(); + $tables[$row[0]] = array(); } mysql_free_result($result); // Save all table-names -foreach($tables as $tablename => $data){ - $result = mysql_query("SHOW COLUMNS FROM $tablename"); - while ($row = mysql_fetch_assoc($result)) { - $tables[$tablename][] = $row; - } +foreach($tables as $tablename => $data) { + $result = mysql_query("SHOW COLUMNS FROM $tablename"); + while ($row = mysql_fetch_assoc($result)) { + $tables[$tablename][] = $row; + } } mysql_free_result($result); echo "Get Fieldlist from tables ...\n"; // Prepare dot-string $b = "\n"; $str = 'digraph x { - node [shape=record]; - ranksep=3; - size="20,20";'.$b; - + node [shape=record]; + ranksep=3; + size="20,20";'.$b; + // get all table-fields -foreach($tables as $tablename => $data){ - $str .= $tablename .' [label= "{'; - $array = array(); - $array[] = strtoupper($tablename); - foreach($data as $d){ - $array[] = "<".$d['Field'].">".$d['Field']; - } - $str .= implode("|",$array); - $str .= '}",width=3];'.$b; +foreach($tables as $tablename => $data) { + $str . = $tablename .' [label= "{'; + $array = array(); + $array[] = strtoupper($tablename); + foreach($data as $d) { + $array[] = "<".$d['Field'].">".$d['Field']; + } + $str . = implode("|", $array); + $str . = '}",width=3];'.$b; } echo "Generate the Links ...\n"; // link the database-items (foreign-keys) -foreach($tables as $tablename1 => $table1){ - foreach($table1 as $field1){ - $f1 = $field1['Field']; - foreach($tables as $tablename2 => $table2){ - foreach($table2 as $field2){ - $f2 = $field2['Field']; - if( $tablename1 != $tablename2 && $f1 == $f2 && strstr($f1,'ID') && "pbs_".str_replace("ID",'',$f1) == $tablename1){ - // Draw lines to tables - $str .= $tablename1 ." -> ".$tablename2.";".$b; - // draw lines to table-items - #$str .= $tablename1.":".$f1 ." -> ".$tablename2.":".$f2 .";".$b; - } - } - } - } +foreach($tables as $tablename1 => $table1) { + foreach($table1 as $field1) { + $f1 = $field1['Field']; + foreach($tables as $tablename2 => $table2) { + foreach($table2 as $field2) { + $f2 = $field2['Field']; + if( $tablename1 != $tablename2 && $f1 == $f2 && strstr($f1, 'ID') && "pbs_".str_replace("ID", '', $f1) == $tablename1) { + // Draw lines to tables + $str . = $tablename1 ." -> ".$tablename2.";".$b; + // draw lines to table-items +#$str .= $tablename1.":".$f1 ." -> ".$tablename2.":".$f2 .";".$b; + } + } + } + } } -$str .= "}"; +$str . = "}"; echo "Write to file ...\n"; // Create the dot file $fp = fopen("mysqlGraph.dot", "w"); |