Heim >Datenbank >MySQL-Tutorial >Verwenden Sie die Smarty-Template-Engine, um die PHP- und MySQL-Entwicklung zu optimieren

Verwenden Sie die Smarty-Template-Engine, um die PHP- und MySQL-Entwicklung zu optimieren

PHPz
PHPzOriginal
2023-07-01 10:00:371339Durchsuche

PHP-Entwicklungsfähigkeiten: So verwenden Sie die Smarty-Template-Engine zum Betrieb einer MySQL-Datenbank

Einführung:
Bei der PHP-Entwicklung ist der Betrieb von Datenbanken eine häufige Anforderung. Durch die Verwendung der Smarty-Vorlagen-Engine kann die Back-End-Logik effektiv von der Front-End-Anzeige getrennt werden, wodurch die Wartbarkeit und Lesbarkeit des Codes verbessert wird. In diesem Artikel wird erläutert, wie Sie mit der Smarty-Vorlagen-Engine die MySQL-Datenbank betreiben und Vorgänge wie das Hinzufügen, Löschen, Ändern und Abfragen von Daten implementieren.

1. Vorbereitung
Bevor wir beginnen, müssen wir die folgenden Bedingungen vorbereiten:

  1. Die PHP-Umgebung installieren und konfigurieren;
  2. Eine MySQL-Datenbank erstellen und Testdaten importieren .
  3. 2. Stellen Sie eine Verbindung zur Datenbank her.
Bevor wir beginnen, müssen wir zunächst eine Verbindung zur Datenbank herstellen. Erstellen Sie zunächst eine config.php-Datei im Projekt, um die entsprechende Konfiguration der Datenbankverbindung zu speichern. In der Datei config.php können wir einige Konstanten definieren, um Informationen wie die Hostadresse, den Benutzernamen, das Passwort und den Datenbanknamen der Datenbank zu speichern.

<?php
define('DB_HOST', 'localhost');  // 数据库主机地址
define('DB_USER', 'root');       // 数据库用户名
define('DB_PASS', 'password');   // 数据库密码
define('DB_NAME', 'test');       // 数据库名

// 数据库连接
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

// 检查连接是否成功
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

3. Daten abfragen

Als nächstes können wir die Smarty-Vorlagen-Engine verwenden, um die Daten in der Datenbank abzufragen und im Frontend anzuzeigen. Zur Vereinfachung der Demonstration nehmen wir die Abfrage und Anzeige der Studentenliste als Beispiel.


Zuerst müssen wir im Projekt eine Smarty-Vorlagendatei mit dem Namen „students.tpl“ erstellen. In dieser Datei können wir die HTML-Struktur und die Smarty-Vorlagensyntax definieren, um die Schülerliste anzuzeigen.

Als nächstes können wir im PHP-Code die Daten der Schülerliste abrufen, indem wir die Datenbank abfragen und die Daten an die Smarty-Vorlagen-Engine übergeben.

<?php
require_once('config.php');
require_once('smarty/libs/Smarty.class.php');

$smarty = new Smarty();

$query = "SELECT * FROM students";
$result = mysqli_query($conn, $query);

// 将查询结果传递给Smarty模板引擎
$data = [];
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = $row;
}

$smarty->assign('students', $data);
$smarty->display('students.tpl');

In der Datei „students.tpl“ können wir die Smarty-Vorlagensyntax verwenden, um die Studentenliste dynamisch anzuzeigen.

<!DOCTYPE html>
<html>
<head>
    <title>学生列表</title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>学号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>年龄</th>
            </tr>
        </thead>
        <tbody>
            {foreach $students as $student}
                <tr>
                    <td>{$student.id}</td>
                    <td>{$student.name}</td>
                    <td>{$student.gender}</td>
                    <td>{$student.age}</td>
                </tr>
            {/foreach}
        </tbody>
    </table>
</body>
</html>

4. Daten einfügen

Zusätzlich zum Abfragen von Daten können wir die Smarty-Vorlagen-Engine auch verwenden, um neue Daten in die Datenbank einzufügen.


Zuerst müssen wir in der Datei „add_student.tpl“ ein Formular definieren, damit Benutzer Studenteninformationen eingeben können, und dann die Daten über eine POST-Anfrage an den Server senden.

Als nächstes können wir im PHP-Code feststellen, ob eine POST-Anfrage vorliegt, dann die Daten im Formular abrufen und in die Datenbank einfügen.

<!DOCTYPE html>
<html>
<head>
    <title>添加学生</title>
</head>
<body>
    <form method="post" action="add_student.php">
        <label for="name">姓名:</label>
        <input type="text" name="name" required><br>
        <label for="gender">性别:</label>
        <input type="radio" name="gender" value="1" required>男
        <input type="radio" name="gender" value="0" required>女<br>
        <label for="age">年龄:</label>
        <input type="number" name="age" min="0" required><br>
        <button type="submit">提交</button>
    </form>
</body>
</html>
<?php
require_once('config.php');
require_once('smarty/libs/Smarty.class.php');

$smarty = new Smarty();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = $_POST['name'];
    $gender = $_POST['gender'];
    $age = $_POST['age'];

    // 插入新的数据到数据库中
    $query = "INSERT INTO students (name, gender, age) VALUES ('$name', '$gender', '$age')";
    $result = mysqli_query($conn, $query);

    // 插入成功后,跳转到学生列表页面
    header('Location: students.php');
    exit;
}

$smarty->display('add_student.tpl');

Zusammenfassung:

Durch die Einleitung dieses Artikels haben wir gelernt, wie man die Smarty-Template-Engine zum Betrieb der MySQL-Datenbank verwendet. Wir können die Smarty-Vorlagen-Engine verwenden, um die Daten in der Datenbank abzufragen und im Frontend anzuzeigen, oder wir können vom Benutzer eingegebene Daten über die Smarty-Vorlagen-Engine in die Datenbank einfügen. Diese Entwicklungsmethode, die die Back-End-Logik von der Front-End-Anzeige trennt, verbessert die Lesbarkeit und Wartbarkeit des Codes und erleichtert uns die Entwicklung von PHP.

Das obige ist der detaillierte Inhalt vonVerwenden Sie die Smarty-Template-Engine, um die PHP- und MySQL-Entwicklung zu optimieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn