Alle Tabellen bei phpMyAdmin anzeigen?
Hallo, geht es vielleicht einfacher? Mit weniger Code?
<?php
$servername = "localhost";
$username = "root";
$password = "";
// Funktion um Verbindung zu prüfen und eine Nachricht auszugeben
function checkConnection($conn) {
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
}
// Verbindung herstellen
$conn = new mysqli($servername, $username, $password);
checkConnection($conn);
// Alle Datenbanken abrufen
$sql = "SHOW DATABASES";
$result = $conn->query($sql);
echo "<h1>Datenbanken</h1>";
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$dbname = $row['Database'];
echo "<a href='?database=$dbname'>$dbname</a><br>";
}
}
else {
echo "Keine Datenbanken gefunden.";
}
$conn->close();
// Tabellen in der gewählten Datenbank anzeigen
if (isset($_GET['database'])) {
$dbname = $_GET['database'];
$conn = new mysqli($servername, $username, $password, $dbname);
checkConnection($conn);
$sql = "SHOW TABLES";
$result = $conn->query($sql);
echo "<h1>Tabellen in $dbname</h1>";
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$tablename = $row["Tables_in_$dbname"];
echo "<a href='?database=$dbname&table=$tablename'>$tablename</a><br>";
}
}
else {
echo "Keine Tabellen gefunden.";
}
$conn->close();
}
// Einträge in der gewählten Tabelle anzeigen und Eingabefelder generieren
if (isset($_GET['database']) && isset($_GET['table'])) {
$dbname = $_GET['database'];
$tablename = $_GET['table'];
$conn = new mysqli($servername, $username, $password, $dbname);
checkConnection($conn);
$sql = "SELECT * FROM $tablename";
$result = $conn->query($sql);
echo "<h1>Einträge in $tablename bearbeiten</h1>";
if ($result->num_rows > 0) {
echo "<form method='POST' action='save_changes.php'>";
echo "<table border='1'><tr>";
// Spaltenüberschriften
$fieldinfo = $result->fetch_fields();
foreach ($fieldinfo as $val) {
echo "<th>{$val->name}</th>";
}
echo "</tr>";
// Daten
while ($row = $result->fetch_assoc()) {
echo "<tr>";
foreach ($row as $key => $data) {
echo "<td><input type='text' name='{$key}[]' value='$data'></td>";
}
echo "</tr>";
}
// Leeres Eingabefeld für neue Einträge hinzufügen
echo "<tr>";
foreach ($fieldinfo as $val) {
echo "<td><input type='text' name='{$val->name}[]' value=''></td>";
}
echo "</tr>";
echo "</table>";
echo "<input type='hidden' name='database' value='$dbname'>";
echo "<input type='hidden' name='table' value='$tablename'>";
echo "<input type='submit' value='Änderungen speichern'>";
echo "</form>";
}
else {
echo "Keine Einträge gefunden.";
// Leere Tabelle mit Eingabefeldern für neuen Eintrag anzeigen
echo "<form method='POST' action='save_changes.php'>";
echo "<table border='1'><tr>";
foreach ($fieldinfo as $val) {
echo "<th>{$val->name}</th>";
}
echo "</tr><tr>";
foreach ($fieldinfo as $val) {
echo "<td><input type='text' name='{$val->name}[]' value=''></td>";
}
echo "</tr></table>";
echo "<input type='hidden' name='database' value='$dbname'>";
echo "<input type='hidden' name='table' value='$tablename'>";
echo "<input type='submit' value='Änderungen speichern'>";
echo "</form>";
}
$conn->close();
}
?>
Datenbank,
MySQL,
PHP,
phpMyAdmin