Maison  >  Article  >  base de données  >  Utilisez le moteur de modèles Smarty pour optimiser le développement PHP et MySQL

Utilisez le moteur de modèles Smarty pour optimiser le développement PHP et MySQL

PHPz
PHPzoriginal
2023-07-01 10:00:371281parcourir

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 :

  1. Installer et configurer l'environnement PHP ;#🎜 🎜 #
  2. Installer et configurer le moteur de template Smarty ;
  3. Créer une base de données MySQL et importer des données de test.
2. Connectez-vous à la base de données

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

3. Interroger les données

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.

Tout d'abord, nous devons créer un fichier modèle Smarty nommé "students.tpl" dans le projet. Dans ce fichier, nous pouvons définir la structure HTML et la syntaxe du modèle Smarty pour afficher la liste des étudiants.

Ensuite, dans le code PHP, nous pouvons obtenir les données de la liste des étudiants en interrogeant la base de données et transmettre les données au moteur de modèles Smarty.

<?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');

Dans le fichier "students.tpl", nous pouvons utiliser la syntaxe du modèle Smarty pour afficher dynamiquement la liste des étudiants.

<!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. Insérer des données

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.

Tout d'abord, nous devons définir un formulaire dans le fichier "add_student.tpl" pour que les utilisateurs puissent saisir les informations sur l'étudiant, puis soumettre les données au serveur via une requête POST.

Ensuite, dans le code PHP, on peut déterminer s'il y a une requête POST, puis récupérer les données sous le formulaire et insérer les 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');

Résumé :

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn