Compétences en développement PHP : Comment utiliser le moteur de modèles Smarty pour faire fonctionner la base de données MySQL
Introduction :
Dans le développement PHP, l'exploitation de bases de données est une exigence courante. L'utilisation du moteur de modèles Smarty peut séparer efficacement la logique back-end de l'affichage front-end, améliorant ainsi la maintenabilité et la lisibilité du code. Cet article expliquera comment utiliser le moteur de modèles Smarty pour faire fonctionner la base de données MySQL afin de mettre en œuvre des opérations telles que l'ajout, la suppression, la modification et l'interrogation de données.
1. Préparation
Avant de commencer, nous devons préparer les conditions suivantes à l'avance :
Avant de commencer, nous devons d'abord nous connecter à la base de données. Tout d’abord, créez un fichier config.php dans le projet pour stocker la configuration pertinente de la connexion à la base de données. Dans le fichier config.php, nous pouvons définir certaines constantes pour stocker des informations telles que l'adresse d'hôte de la base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données.
<?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()); }
Ensuite, nous pouvons utiliser le moteur de modèles Smarty pour interroger les données dans la base de données et les afficher sur le front-end. Pour faciliter la démonstration, nous prenons comme exemple l'interrogation et l'affichage de la liste des étudiants.
<?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');
<!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>
En plus d'interroger des données, nous pouvons également utiliser le moteur de modèles Smarty pour insérer de nouvelles données dans la base de données.
<!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');
Grâce à l'introduction de cet article, nous avons appris à utiliser le moteur de template Smarty pour faire fonctionner la base de données MySQL. Nous pouvons utiliser le moteur de modèle Smarty pour interroger les données dans la base de données et les afficher sur le front-end, ou nous pouvons insérer les données saisies par l'utilisateur dans la base de données via le moteur de modèle Smarty. Cette méthode de développement qui sépare la logique back-end de l'affichage front-end améliore la lisibilité et la maintenabilité du code, et nous permet de développer plus facilement PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!