Wer zur Verwaltung seiner MySQL Datenbanken phpMyAdmin nutzt und diese per Confixx anlegt, der steht nach ein paar angelegten Datenbanken vor dem Problem, diese nicht mehr richtig zugeordnet werden können, da Confixx in der Regel Datenbanknamen wie folgt verwendet „usr_web123_1“.
Um nicht den Überblick zu verlieren haben wir uns damit beschäftigt die Datenbankbeschreibung (die man im Confixx anlegen kann) mit in phpMyAdmin zu integrieren.
Um euch einen kleinen Anheizer zu spendieren: So kann das Ergebnis aussehen.
Damit ihr dies so umsetzen könnt, benötigt ihr zum einen das Confixx MySQL Passwort und natürlich Zugriff auf die phpMyAdmin Dateien. Wir haben diese Modifikation mit phpMyAdmin 3.1.4 durchgeführt.
Wenn ihr dies habt, lasst uns los legen…
Achtung: Bitte erstellt immer eine Kopie der zu bearbeitenden Datei, damit im Falle eines Fehlschlages die Datei wieder zurück kopiert werden kann.
Als erstes öffnen wir die Datei „List_Database.class.php“ von phpMyAdmin. Zu finden ist diese in „phpMyAdmin/libraries/„.
Haben wir diese Datei geöffnet finden wir in Zeile 342 die Funktion getHtmlListGrouped(). Den Inhalt dieser Funktion ändern wir (komplett) wie folgt:
public function getHtmlListGrouped($selected = '', $offset, $count) { if (true === $selected) { $selected = $this->getDefault(); } $return = '<ul id="databaseList" style="padding-left:0px;" xml:lang="en" dir="ltr">' . "\n"; foreach ($this->getGroupedDetails($offset, $count) as $group => $dbs) { if (count($dbs) > 1) { //$return .= '<li>' . htmlspecialchars($group) . "\n"; $return .= '<div style="height:2px;background-color:#000;line-height:0px;font-size:0px;margin-bottom:5px;"> </div>'; // whether display db_name cut by the group part $cut = true; } else { // .. or full $cut = false; } foreach ($dbs as $db) { $return .= '<div class="database_ka_box" onclick="top.location.href = \'index.php?'.PMA_generate_common_url($db['name']).'\';"'; if ($db['name'] == $selected) { $return .= ' class="selected"'; } $return .= '><a'; if (! empty($db['comment'])) { $return .= ' title="' . htmlspecialchars($db['comment']) . '"'; } $return .= ' href="index.php?' . PMA_generate_common_url($db['name']) . '" target="_parent" style="background-color:transparent;">'; mysql_connect('localhost', 'confixx', 'YOURPASSWORD'); mysql_select_db('confixx'); $kaSql = "SELECT * FROM mysql_datenbanken WHERE dbname = '$db[disp_name]'"; $kaQry = mysql_query($kaSql); if(mysql_num_rows($kaQry) == 1) { $kaRes = mysql_fetch_array($kaQry); } else { $kaRes['kommentar'] = ''; } if ($cut) { $return .= '<strong>'.htmlspecialchars($kaRes['kommentar']).'</strong>'; } else { $return .= htmlspecialchars($db['disp_name']); } if (! empty($db['num_tables'])) { $return .= ' (' . $db['num_tables'] . ')'; } $return .= '</a><span style="font-size:10px;color:rgb(90,90,90);">'.$db['disp_name'].'</span></div>' . "\n"; } if (count($dbs) > 1) { //$return .= '</li>' . "\n"; } } $return .= '</ul>'; return $return; }
Zu ändern ist nun zunächst einmal das Confixx MySQL Passwort in Zeile 371 auf euer eigenes. Die auskommentierten Zeilen sind die alten HTML angaben. Wir haben jede Datenbank nun in einem eigenen DIV gepackt.
Wenn ihr nun mal in eurem phpMyAdmin schaut sollten die Datenbank-Kommentare von Confixx in phpMyAdmin zu sehen sein. Diese müssen nun jedoch noch per CSS formatiert werden.
Dafür öffnen wir nun die „navigation.php“ aus dem Hauptordner „phpMyAdmin“. Dort fügen wir in den HEAD-Bereich (ca. Zeile 139) folgende Stylesheet-Angaben ein:
<style type="text/css"> #databaseList { list-style-type:square; } #databaseList li ul { list-style-type:square; margin-left:14px; padding-left:0px; } #databaseList li ul li { margin-bottom:5px; } .database_ka_box { cursor:pointer;font-size:11px;border:1px solid #a8d1de;margin-bottom:5px; background-color:#d9e9ef; padding:6px; } .database_ka_box:hover { cursor:pointer;font-size:11px;border:1px solid #a8d1de;margin-bottom:5px; background-color:#cbe4ed; padding:6px; } </style>
Nun sollte alles vernünftig Formatiert aussehen. Die gesamten Stylesheets könnt ihr natürlich auf eure Bedürfnisse und Wünsche anpassen.
Nicht zu vergessen: Das ganze wird höchstwahrscheinlich mit einem Update von phpMyAdmin überschrieben.
Sollte etwas gar nicht funktionieren, die Backups der beiden Dateien einfach wieder zurückspielen.
Viel Spaß dabei!