]> git.joonet.de Git - adminer.git/commitdiff
Restructure indexes
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 5 Jul 2007 04:39:15 +0000 (04:39 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 5 Jul 2007 04:39:15 +0000 (04:39 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@28 7c3ca157-0c34-0410-bff1-cbf682f78f5c

functions.inc.php
indexes.inc.php
table.inc.php

index a048114ecf870e253b99af0a45d027a83c782aa1..6c5cf0883ce93965a63fd08eca681171d8d3198d 100644 (file)
@@ -56,8 +56,8 @@ function indexes($table) {
        $return = array();
        $result = mysql_query("SHOW INDEX FROM " . idf_escape($table));
        while ($row = mysql_fetch_assoc($result)) {
-               $type = ($row["Key_name"] == "PRIMARY" ? "PRIMARY" : ($row["Index_type"] == "FULLTEXT" ? "FULLTEXT" : ($row["Non_unique"] ? "INDEX" : "UNIQUE")));
-               $return[$type][$row["Key_name"]][$row["Seq_in_index"]] = $row["Column_name"];
+               $return[$row["Key_name"]]["type"] = ($row["Key_name"] == "PRIMARY" ? "PRIMARY" : ($row["Index_type"] == "FULLTEXT" ? "FULLTEXT" : ($row["Non_unique"] ? "INDEX" : "UNIQUE")));
+               $return[$row["Key_name"]]["columns"][$row["Seq_in_index"]] = $row["Column_name"];
        }
        mysql_free_result($result);
        return $return;
@@ -79,18 +79,16 @@ function foreign_keys($table) {
 }
 
 function unique_idf($row, $indexes) {
-       foreach ($indexes as $type => $index) {
-               if ($type == "PRIMARY" || $type == "UNIQUE") {
-                       foreach ($index as $columns) {
-                               $return = array();
-                               foreach ($columns as $key) {
-                                       if (!isset($row[$key])) {
-                                               continue 2;
-                                       }
-                                       $return[] = urlencode("where[$key]") . "=" . urlencode($row[$key]);
+       foreach ($indexes as $index) {
+               if ($index["type"] == "PRIMARY" || $index["type"] == "UNIQUE") {
+                       $return = array();
+                       foreach ($index["columns"] as $key) {
+                               if (!isset($row[$key])) {
+                                       continue 2;
                                }
-                               return $return;
+                               $return[] = urlencode("where[$key]") . "=" . urlencode($row[$key]);
                        }
+                       return $return;
                }
        }
        $return = array();
index 4e7412492823a65e5b166608b0e9725af6c9b9f6..6f96806ad7d63578af59878d1dd2df00e30922a1 100644 (file)
@@ -18,17 +18,15 @@ if ($_POST) {
 <?php
 $fields = array_keys(fields($_GET["indexes"]));
 $j = 0;
-foreach ($row["indexes"] as $type => $index) {
-       foreach ($index as $columns) {
-               echo "<tr><td><select name='indexes[$j][type]'><option></option>" . optionlist($index_types, $type, "not_vals") . "</select></td><td>";
-               sort($columns);
-               foreach ($columns as $i => $column) {
-                       echo "<select name='indexes[$j][columns][$i]'><option></option>" . optionlist($fields, $column, "not_vals") . "</select>";
-               }
-               echo "<select name='indexes[$j][columns][" . ($i+1) . "]'><option></option>" . optionlist($fields, array(), "not_vals") . "</select>";
-               echo "</td></tr>\n";
-               $j++;
+foreach ($row["indexes"] as $index) {
+       echo "<tr><td><select name='indexes[$j][type]'><option></option>" . optionlist($index_types, $index["type"], "not_vals") . "</select></td><td>";
+       sort($index["columns"]);
+       foreach ($index["columns"] as $i => $column) {
+               echo "<select name='indexes[$j][columns][$i]'><option></option>" . optionlist($fields, $column, "not_vals") . "</select>";
        }
+       echo "<select name='indexes[$j][columns][" . ($i+1) . "]'><option></option>" . optionlist($fields, array(), "not_vals") . "</select>";
+       echo "</td></tr>\n";
+       $j++;
 }
 //! JavaScript for adding more indexes and columns
 ?>
index f1241cd6e4eb907d5775756a79b1fb3fd86db075..b29ffb7c07450a92fb710aab17b871f03e2bfee8 100644 (file)
@@ -15,11 +15,9 @@ echo "<h3>" . lang('Indexes') . "</h3>\n";
 $indexes = indexes($_GET["table"]);
 if ($indexes) {
        echo "<table border='1' cellspacing='0' cellpadding='2'>\n";
-       foreach ($indexes as $type => $index) {
-               foreach ($index as $columns) {
-                       sort($columns);
-                       echo "<tr><td>$type</td><td><i>" . implode("</i>, <i>", $columns) . "</i></td></tr>\n";
-               }
+       foreach ($indexes as $index) {
+               sort($index["columns"]);
+               echo "<tr><td>$index[type]</td><td><i>" . implode("</i>, <i>", $index["columns"]) . "</i></td></tr>\n";
        }
        echo "</table>\n";
 }