Maison > base de données > tutoriel mysql > le corps du texte

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

PHPz
Libérer: 2023-07-01 10:00:37
original
1312 Les gens l'ont consulté

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());
}
Copier après la connexion

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');
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion
<?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');
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal