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:
<?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()); }
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!