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
Sort/Tabellen/QR-Code altmodisch gelöst? Verbesserungsvorschläge?

Mehrere Formularfunktionen in PHP:

Sort:

  $sort_by = "kunden_id";
  $order = "ASC";

  if (isset($_GET['sort'])) {
    // Überprüfen, ob die Sortierparameter gültig sind
    if ($_GET['sort'] == 'kunden_id' || $_GET['sort'] == 'vname' || $_GET['sort'] == 'nname' || $_GET['sort'] == 'age') {
      $sort_by = $_GET['sort'];
      $order = ($_GET['order'] == 'asc') ? 'ASC' : 'DESC';
    }
  }

  $sql = "SELECT kunden_id, vname, nname, age FROM kunden ORDER BY $sort_by $order";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    echo "<table border='1'>
      <tr>
        <th><a href='?sort=kunden_id&order=". ($sort_by == 'kunden_id' && $order == 'ASC' ? 'desc' : 'asc') ."'>Kunden ID</a></th>
        <th><a href='?sort=vname&order=". ($sort_by == 'vname' && $order == 'ASC' ? 'desc' : 'asc') ."'>Vorname</a></th>
        <th><a href='?sort=nname&order=". ($sort_by == 'nname' && $order == 'ASC' ? 'desc' : 'asc') ."'>Nachname</a></th>
        <th><a href='?sort=age&order=". ($sort_by == 'age' && $order == 'ASC' ? 'desc' : 'asc') ."'>Alter</a></th>
      </tr>";

    while($row = $result->fetch_assoc()) {
      echo "<tr>
        <td>" . $row["kunden_id"]. "</td>
        <td>" . $row["vname"]. " </td>
        <td>" . $row["nname"]. "</td>
        <td>" . $row["age"]. "</td>
      </tr>";
    }

    echo "</table>";
  }
  else {
    echo "0 Ergebnisse";
  }

  $conn->close();
?>

Tabellen anzeigen lassen:

<?php
  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "lap";

  // Create connection
  $conn = new mysqli($servername, $username, $password, $dbname);
  // Check connection
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  $sql = "SELECT kunden_id, vname, nname, age FROM kunden Order by kunden_id";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    echo "<table border='1'>
      <tr>
        <th>Kunden ID</th>
        <th>Vorname</th>
        <th>Nachname</th>
        <th>Alter</th>
      </tr>";

    // output data of each row
    while($row = $result->fetch_assoc()) {
      echo "<tr>
        <td>" . $row["kunden_id"]. "</td>
        <td>" . $row["vname"]. " </td>
        <td>" . $row["nname"]. "</td>
        <td>" . $row["age"]. "</td>
      </tr>";
    }

    echo "</table>";
  }
  else {
    echo "0 results";
  }

  $conn->close();
?>

QR-Code:

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>QR-Code Generator</title>
  <script src="https://cdn.jsdelivr.net/npm/qr-code-styling@1.5.0/lib/qr-code-styling.js"></script>
  <style>
    body {
      font-family: Arial, sans-serif;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 50px;
    }

    #qrcode {
      margin-top: 20px;
    }
    button {
      margin-top: 10px;
    }
  </style>
</head>
<body>
  <h1>QR-Code Generator</h1>
  <form id="qrForm">
    <label for="url">Gib eine URL ein:</label>
    <input type="text" id="url" name="url" required>
    <button type="submit">Generiere QR-Code</button>
  </form>
  <div id="qrcode"></div>
  <button id="downloadBtn" style="display:none;">QR-Code herunterladen</button>
  <script>
    const qrCode = new QRCodeStyling({
      width: 300,
      height: 300,
      type: "png",
      data: "",
      image: "",
      dotsOptions: {
        color: "#000",
        type: "rounded"
      },
      backgroundOptions: {
        color: "#fff",
      }
    });
    document.getElementById("qrForm").addEventListener("submit", function(event) {
      event.preventDefault();
      const url = document.getElementById("url").value;
      qrCode.update({
        data: url
      });
      document.getElementById("qrcode").innerHTML = "";
      qrCode.append(document.getElementById("qrcode"));
      document.getElementById("downloadBtn").style.display = "block";
    });
    document.getElementById("downloadBtn").addEventListener("click", function() {
      qrCode.download({ name: "qrcode", extension: "png" });
    });
  </script>
</body>
</html>
Datenbank, MySQL, PHP, phpMyAdmin
Delete/Insert/Update/Search, altmodisch gelöst? Verbesserungsvorschläge?

Mehrere Formularfunktionen in PHP:

Delete:

  if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["kunden_id"])) {
    $kunden_id = $_POST["kunden_id"];
    $sql = "DELETE FROM kunden WHERE kunden_id=$kunden_id";

    if ($conn->query($sql) === TRUE) {
      echo "Record deleted successfully";
    }
    else {
      echo "Error deleting record: " . $conn->error;
    }
  }

  $conn->close();
?>

Insert:

  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $vname = $conn->real_escape_string($_POST['vname']);
    $nname = $conn->real_escape_string($_POST['nname']);
    $age = $conn->real_escape_string($_POST['age']);
    $sql = "INSERT INTO kunden (vname, nname, age) VALUES ('$vname', '$nname', '$age')";

    if ($conn->query($sql) === TRUE) {
      echo "Neuer Kunde erfolgreich hinzugefügt";
    }
    else {
      echo "Fehler: " . $sql . "<br>" . $conn->error;
    }
  }

  $conn->close();
?>

Update:

  if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["kunden_id"]) && isset($_POST["vname"]) && isset($_POST["nname"]) && isset($_POST["age"])) {
    // Kunden-ID und neue Daten aus dem Formular abrufen
    $kunden_id = $_POST["kunden_id"];
    $vname = $_POST["vname"];
    $nname = $_POST["nname"];
    $age = $_POST["age"];

    // SQL-Update-Statement vorbereiten
    $sql = "UPDATE kunden SET vname='$vname', nname='$nname', age='$age' WHERE kunden_id=$kunden_id";

    if ($conn->query($sql) === TRUE) {
      echo "Record updated successfully";
    }
    else {
      echo "Error updating record: " . $conn->error;
    }
  }

  $conn->close();
?>

Search:

  if (isset($_POST['search'])) {
    $search = $_POST['search'];
    $sql = "SELECT kunden_id, vname, nname, age FROM kunden WHERE nname LIKE '%$search%' ORDER BY kunden_id";
  }
  else {
    $sql = "SELECT kunden_id, vname, nname, age FROM kunden ORDER BY kunden_id";
  }

  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    echo "<table border='1'>
      <tr>
        <th>Kunden ID</th>
        <th>Vorname</th>
        <th>Nachname</th>
        <th>Alter</th>
      </tr>";

    while ($row = $result->fetch_assoc()) {
      echo "<tr>
        <td>" . $row["kunden_id"]. "</td>
        <td>" . $row["vname"]. " </td>
        <td>" . $row["nname"]. "</td>
        <td>" . $row["age"]. "</td>
      </tr>";
    }

    echo "</table>";
  }
  else {
    echo "0 Ergebnisse";
  }

  $conn->close();
?>
<form method="post">
  <input type="text" name="search" placeholder="Nachname eingeben...">
  <button type="submit">Suchen</button>
</form>
Datenbank, MySQL, PHP, phpMyAdmin
Plex findet meine Musik nicht?

Ich wollte Plex einrichten, um das 65000 Titel Limit von Sonos zu umgehen, aber auch nach mehrmaligen Einlesen zeigt es mir keine Musik in Plex an.

Plex Media Server läuft auf meinem Fileserver mit Windows 10.

Beim Scannen finde ich immer wieder Fehlermeldungen in der Konsole. So sehen die Konsoleneinträge für jeden gescannten Musikordner aus:

Jun 09, 2024 15:39:23.481 [9276] Fehlersuche — Activity: updated activity cdaf648b-8b42-4ee8-ba20-9c977c70b93a - completed 8.8% - Scanning Musik

Jun 09, 2024 15:39:23.481 [9276] Fehlersuche — Scanner: Processing directory X:\Music Drive\Musik\Games\Remix Kwed\Best of Remix Kwed III (parent: yes)

Jun 09, 2024 15:39:23.482 [8996] Fehlersuche — Wrote 27263 bytes to "C:\Users\SETSUN~1\AppData\Local\Temp\f4088fba-77d7-43d0-a18a-688e3b2debaa.txt"

Jun 09, 2024 15:39:23.483 [8996] Fehlersuche — [JobRunner] Job running: set "FFMPEG_EXTERNAL_LIBS=\\\\?\\C\:\\Users\\Setsuna\ Kyoura\\AppData\\Local\\Plex\ Media\ Server\\Codecs\\ad47460-4673-windows-x86_64\\" & set "X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" & "C:\Program Files\Plex Media Server\Plex Media Scanner.exe" --match --type 8 --log-file-suffix " Matcher" --files @C:\Users\SETSUN~1\AppData\Local\Temp\f4088fba-77d7-43d0-a18a-688e3b2debaa.txt

Jun 09, 2024 15:39:23.486 [8996] Fehlersuche — [JobRunner] Jobs: Starting child process with pid 8728

Jun 09, 2024 15:39:23.487 [9276] Fehlersuche — Directory had 44 files, database had 0 files, can't skip.

Jun 09, 2024 15:39:23.522 [8996] Fehler — Error parsing content.

Jun 09, 2024 15:39:23.522 [8996] Fehler — Error parsing XML: Error parsing file.

Jun 09, 2024 15:39:23.523 [8996] Fehlersuche — Killing job.

Jun 09, 2024 15:39:23.524 [8996] Fehlersuche — Native Scanner: Executed Match stage in 0.04 sec.

Jun 09, 2024 15:39:23.524 [7008] Fehlersuche — Jobs: 'C:\Program Files\Plex Media Server\Plex Media Scanner.exe' exit code for process 8728 is -1073741701 ()

Jun 09, 2024 15:39:23.524 [8644] Fehlersuche — Native Scanner: Executed Add to Database stage in 0.00 sec.

Jun 09, 2024 15:39:23.524 [6712] Fehlersuche — Native Scanner: Executed Media Analysis stage in 0.00 sec.
Bild zum Beitrag
Computer, Musik, MP3, Streaming, Datenbank, Sonos, DLNA, FLAC, Windows 10, Plex, Plex media server
Programm auslesen eines Arduinos?

hey, ich versuche gerade (immer noch) Daten von meinem Arduino zu einer Datenbank in mysql zu senden. Jedoch kommt nichts an und beim Arduino blinkt die ganze Zeit TX (was doch fürs Daten senden steht, oder?).

Hier das Programm von VSC:

var mysql = require('mysql');


var SerialPort = require("serialport");


var column_name = 'Wert'
var table_name = 'Wertetabelle'


const parsers = SerialPort.parsers;
const parser = new parsers.Readline({
    delimiter: '\r\n'
});


var port = new SerialPort('COM4', {
    baudRate: 9600,
    dataBits: 8,
    parity: 'none',
    stopBits: 1,
    flowControl: false
});


port.pipe(parser);


//Determine the connection to MySQL
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "werte_datenbank"
});


//Connect with Database
con.connect(function(err) {
    // Build the connection
    if (err) throw err;
    console.log("Connected!");
});


parser.on('data', function(data){
    console.log(data);


    // Deklariert was genau wo gespeichert werden soll
    var sql = "INSERT INTO `werte_tabelle` (`Wert`) VALUES ('" + data + "');"


    // Speichert bei Änderungen die neuen Daten in der Datenbank
    con.query(sql, function (err, result) {
      if (err) throw err;
      console.log("1 record inserted");
    });
});


//DELETE FROM `werte_tabelle` WHERE 1
var sql = "DELETE FROM `werte_tabelle` WHERE 1"
// Löscht die Datenbank
con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Every Entry deleted");

});

Hier das Programm vom Arduino Editor:

int pinPx = 3;
int x = 1;
const long intervall = 20000;
bool zeitspanne = true;
float zeit_now = millis();


void setup() {
  Serial.begin(9600);
  pinMode(pinPx, INPUT);


}


void loop() {
  zeit_now = millis();


  while (zeitspanne == true) {
    if (digitalRead(pinPx) == true) {
      Serial.write(x);
    }
    if (millis() > (zeit_now + intervall)) {
      zeitspanne = false;


    }
  }


  pinPx = pinPx + 1;
  x = x + 1;
  zeitspanne = true;
}

Vielen Dank!!

Arduino, Code, Datenbank, MySQL, Programmiersprache, phpMyAdmin, node.js
Action URL in einem PHP-Formular über einen Schalter in Echtzeit dynamisch ändern, wie?

Also Folgendes: ich hab hier ein PHP-Formular mit einem Eingabefeld und einem Submit Button, dass die eingegebenen Werte an eine bestimmte URL sendet. (Das ist erstmal simpel) Ich habe auch herausgefunden, wie man die URL z.b mit einer Zahlenfunktion variieren kann. Auch das geht relativ leicht. Was hingegen scheinbar weniger einfach ist: Ich würde das Action Attribut, also die URL, wo die Eingaben hingesendet werden nun gerne über einen HTML-Schalter z.b Checkbox dynamisch & in Echtzeit ändern. z.b Checkbox aktiv = Daten werden an URL2 gesendet, Checkbox nicht aktiv = Daten werden an URL1 gesendet. Oder es soll einfach ein URL-Zusatz hinzugefügt werden, je nachdem ob die Checkbox aktiv ist oder nicht. Meine jetzt ganz blöde Frage: Wie oder mit welchem Ansatz kann das funktionieren? Ich habe da jetzt bereits XX Stunden rumprobiert: Normale Variablen mit Conditions definieren, Sessions starten, der Versuch ein Cookie zu setzen, dass beim Ein und Ausschalten der Checkbox gesetzt bzw. gelöscht werden soll (klappt nicht). Mit JS Codeschnipseln herumprobiert. Nichts davon scheint zu funktionieren bzw. es wird einfach immer der Zustand "checkbox unchecked" an URL1 gesendet.

Hat irgendeiner mit Ahnung ne Idee wieso das nicht funktioniert und ob es einen lösbaren Ansatz für dieses Problem gibt?

HTML, Webseite, JavaScript, HTML5, Datenbank, PHP, Programmiersprache, Webdesign, Webentwicklung, Webserver, Frontend

Meistgelesene Beiträge zum Thema Datenbank