Start
/
PHP & MySQL
/
Wie man MySQL-Tabellendaten anzeigt Tutorial

Wie man MySQL-Tabellendaten anzeigt Tutorial

Sehr oft müssen Sie eine MySQL-Tabelle verwenden, um Daten in ihr zu speichern und diese dann mit einem PHP-Skript auszugeben. Um die Tabellendaten anzuzeigen, ist es am besten, HTML zu verwenden, das beim Ausfüllen von Daten auf der Seite ein PHP-Skript aufruft, das die MySQL-Tabelle aktualisiert.

Um eine neue Datenbanktabelle mit Daten zu füllen, benötigen Sie zunächst eine HTML-Seite, die diese Daten vom Benutzer sammelt. Der folgende HTML-Code, leitet die Informationen an ein PHP-Skript weiter:

<form action="insert.php" method="post">
    Value1: <input type="text" name = "field1" /><br/>
    Value2: <input type="text" name = "field2" /><br/>
    Value3: <input type="text" name = "field3" /><br/>
    Value4: <input type="text" name = "field4" /><br/>
    Value5: <input type="text" name = "field5" /><br/>
    <input type="submit" />
</form>

Der obige HTML-Code zeigt dem Benutzer 5 Textfelder , in denen der Benutzer Daten eingeben kann und eine Senden Schaltfläche. Durch Klicken auf die Schaltfläche Senden werden die vom Benutzer übermittelten Daten an ein Skript namens insert.php übergeben.

Dieses Skript kann eine ähnliche Syntax wie die folgende haben:

<?php
$username = "your_username";
$password = "your_pass";
$database = "your_db";

$mysqli = new mysqli("localhost", $username, $password, $database);

// Don't forget to properly escape your values before you send them to DB
// to prevent SQL injection attacks.

$field1 = $mysqli->real_escape_string($_POST['field1']);
$field2 = $mysqli->real_escape_string($_POST['field2']);
$field3 = $mysqli->real_escape_string($_POST['field3']);
$field4 = $mysqli->real_escape_string($_POST['field4']);
$field5 = $mysqli->real_escape_string($_POST['field5']);

$query = "INSERT INTO table_name (col1, col2, col3, col4, col5)
            VALUES ('{$field1}','{$field2}','{$field3}','{$field4}','{$field5}')";

$mysqli->query($query);
$mysqli->close();

Nachdem der Benutzer die Informationen abgeschickt hat, speichert das insert.php Skript diese in der Datenbanktabelle. Dann möchten Sie vielleicht diese Informationen ausgeben, damit der Benutzer sie auf der Seite sehen kann. Der erste Befehl, den Sie verwenden müssen, ist die SELECT FROM MySQL-Anweisung mit der folgenden Syntax:

SELECT * FROM table_name;

Dies ist eine einfache MySQL-Abfrage, die dem Skript mitteilt, alle Datensätze aus der Tabelle table_name auszuwählen. Nachdem die Abfrage ausgeführt wurde, möchten Sie das Ergebnis normalerweise in einer Variablen speichern. Dies kann mit dem folgenden PHP-Code getan werden:

<?php
$query = $mysqli->query("SELECT * FROM table_name");

Der gesamte Inhalt der Tabelle ist nun in einem PHP-Array mit dem Namen $ result enthalten. Bevor Sie diese Daten ausgeben können, sollten Sie jedes Teil in eine separate Variable ändern. Es gibt zwei Phasen.

Jetzt müssen wir die Schleife einrichten. Es wird jede Zeile des Ergebnisses nehmen und die dort gespeicherten Daten ausdrucken. Auf diese Weise werden alle Datensätze in der Tabelle angezeigt:

$query = "SELECT * FROM table_name";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"];
    }

    /* free result set */
    $result->free();
}

Sie können jetzt ein vollständiges Skript zur Ausgabe der Daten schreiben. In diesem Skript werden die Daten beim Drucken nicht formatiert:

<?php
$username = "username";
$password = "password";
$database = "your_database";
$mysqli = new mysqli("localhost", $username, $password, $database);

$query = "SELECT * FROM table_name";
echo "<b> <center>Database Output</center> </b> <br> <br>";

if ($result = $mysqli->query($query)) {

    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"];

        echo '<b>'.$field1name.$field2name.'</b><br />';
        echo $field5name.'<br />';
        echo $field5name.'<br />';
        echo $field5name;
    }

/*freeresultset*/
$result->free();
}

Dies gibt eine Liste aller in der Datenbank gespeicherten Werte aus. Dadurch erhalten Sie eine sehr einfache Ausgabe, die für eine Live-Website nicht nützlich ist. Stattdessen wäre es besser, wenn Sie es in eine Tabelle formatieren und die Informationen darin anzeigen könnten. Um die Formatierung anzuwenden, müssen Sie HTML verwenden, um das Ergebnis zu drucken, indem Sie die Variablen an die richtigen Stellen setzen. Der einfachste Weg, dies zu tun ist, indem Sie das PHP-Tag schließen und normal HTML eingeben. Wenn Sie eine variable Position erreichen, fügen Sie diese wie folgt ein:

<?php echo $variablename; ?>

an der richtigen Stelle in Ihrem Code.

Sie können auch die PHP-Schleife verwenden, um den entsprechenden Code zu wiederholen und ihn als Teil einer größeren Tabelle einzubinden. Die endgültige Ausgabe ist:

<html>
<body>
<?php 
$username = "username"; 
$password = "password"; 
$database = "your_database"; 
$mysqli = new mysqli("localhost", $username, $password, $database); 
$query = "SELECT * FROM table_name";


echo '<table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
          <td> <font face="Arial">Value1</font> </td> 
          <td> <font face="Arial">Value2</font> </td> 
          <td> <font face="Arial">Value3</font> </td> 
          <td> <font face="Arial">Value4</font> </td> 
          <td> <font face="Arial">Value5</font> </td> 
      </tr>';

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"]; 

        echo '<tr> 
                  <td>'.$field1name.'</td> 
                  <td>'.$field2name.'</td> 
                  <td>'.$field3name.'</td> 
                  <td>'.$field4name.'</td> 
                  <td>'.$field5name.'</td> 
              </tr>';
    }
    $result->free();
} 
?>
</body>
</html>

Dieser Code gibt den Tabelleninhalt aus und fügt eine zusätzliche Zeile für jeden Datensatz in der Datenbank hinzu, wobei die Daten so formatiert werden, wie sie ausgegeben werden.

Diesen Artikel teilen