Tutoriel de base de développement PHP pour implémenter un affichage de liste

Nous avons suivi les étapes du chapitre précédent et terminé avec succès l’enregistrement de l’utilisateur.

Créons un affichage de la liste des utilisateurs en arrière-plan. Dans le processus de gestion proprement dit, nous pouvons modifier individuellement le mot de passe de l'utilisateur et les informations relatives à l'utilisateur via le backend.

En arrière-plan, tous les utilisateurs doivent être affichés dans un tableau, qui est la liste des utilisateurs.


1. La connexion à la base de données, le jugement des erreurs et la définition des jeux de caractères

La connexion, le jugement des erreurs et la sélection des jeux de caractères sont tous des éléments. mentionné ci-dessus Parlé. L'ancienne règle, la première étape consiste à utiliser mysqli_connect pour se connecter à la base de données. Comme nous l'avons dit dans la première section, vous pouvez ajouter une sélection de bibliothèque dans le quatrième paramètre. Vous n'avez plus besoin d'utiliser la fonction mysqli_select_db pour sélectionner à nouveau une base de données ultérieurement.

Le type renvoyé est une ressource de connexion. Nous devons transmettre des ressources dans mysqli_errno, mysqli_error et mysqli_set_charset pour déterminer quelle connexion nous opérons.

$conn = mysqli_connect('localhost', 'root', 'secret', 'book');
if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}
mysqli_set_charset($conn, 'utf8');


2. Préparer et envoyer des instructions SQL

Ce que nous devons interroger, c'est connaître l'ID utilisateur, le nom d'utilisateur, l'heure et l'adresse IP. Et utilisez order by id pour trier par ordre décroissant.

Selon la pensée humaine, les gens aiment généralement voir le dernier groupe d'utilisateurs enregistrés. L'ID augmente automatiquement, c'est-à-dire que plus l'ID est grand, plus de nouveaux utilisateurs sont enregistrés. Par conséquent, lorsque nous écrivons l’instruction SQL, nous écrivons l’ordre par identifiant desc.

$sql = "select id,username,createtime,createip from user order by id desc";
$result = mysqli_query($conn, $sql);

3. Résultat du jugement

Tant que l'instruction SQL est correcte, la variable de résultat $result sera être vrai. Par conséquent, nous devons ajouter une étape supplémentaire de jugement lors de la mise en œuvre, pas seulement $result. De plus, déterminez le nombre de lignes interrogées.

Pour interroger le nombre de lignes, vous pouvez utiliser mysqli_num_rows. Cette fonction nécessite que la variable de résultat de la requête $result soit transmise.

S'il y a des résultats, la liste sera affichée. S'il n'y a aucun résultat, nous pouvons générer une invite.

L'extrait de code est le suivant :

if($result && mysqli_num_rows($result)){
    //显示列表代码段
}else{
    //提示没有结果的代码段
}

4. Données d'affichage en boucle

Nous besoin de tous les résultats. Affichez-le sous forme de liste. Les lignes et colonnes d'un tableau sont les mêmes que celles d'un tableau de données. Montré est facile à afficher.

Déclarez d'abord une table et affichez une ligne à chaque boucle. Affichez les résultats dans chaque colonne.

La fonction utilisée est mysqli_fetch_assoc, qui renvoie un tableau associatif.

Cette fonction lit un ensemble de résultats et recule une fois. Lorsqu'il n'y a aucun résultat après la lecture, une valeur booléenne false sera renvoyée. Par conséquent, nous choisissons while de coopérer avec mysqli_fetch_assoc.

Le résultat de chaque boucle est affecté à $row, qui est un tableau associatif. Je peux donc afficher à la fois les lignes et les colonnes dans cette boucle.

   echo '<table width="800" border="1">';
    while ($row = mysqli_fetch_assoc($result)) {
        echo '<tr>';
        echo '<td>' . $row['username'] . '</td>';
        echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>';
        echo '<td>' . long2ip($row['createip']) . '</td>';
        echo '</tr>';
    }
    echo '</table>';

5. Ajouter un contrôle d'édition et de suppression

  • Lors de la suppression, nous divisons pour un seul suppression de sélection et suppression de multi-sélection.

  • Lors de l'édition, nous sélectionnerons un utilisateur

Nous ajoutons quelques petites choses à la page dans le code de l'étape précédente Suppression implémentée et l'édition.

Jetons un coup d'œil aux rendus réels pour raisonner sur le processus de mise en œuvre spécifique. Les effets sont les suivants :

117.png

Il y a plusieurs aspects. dans le processus de mise en œuvre Points clés :

  • Lors d'une sélection unique pour supprimer ou modifier, vous devez utiliser la méthode get pour transmettre l'ID, afin que nous sachions quel utilisateur doit être modifié ou supprimé.

  • Lors de la suppression de plusieurs sélections, vous devez transmettre plusieurs utilisateurs. Par conséquent, nous pouvons utiliser le formulaire form et la méthode post pour soumettre ce lot d’ID utilisateur.

Pour une suppression à sélection unique, nous pouvons suivre delete.php et ajouter l'identifiant et la valeur pour faire une demande de suppression lorsque vous cliquez dessus.

echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';

Il en va de même pour la modification des utilisateurs. Nous ajoutons ? à edit.php et écrivons l'identifiant et la valeur. Lorsque nous cliquons, nous saurons quel utilisateur doit être modifié.

echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>';

Pour la suppression à sélection multiple, nous devons utiliser la case à cocher en HTML Lorsque nous transmettons plusieurs ID utilisateur, nous devons ajouter id[] après le nom. Utilisez un formulaire pour envelopper le tableau et ajoutez une balise de soumission en dehors du tableau pour obtenir une suppression à sélection multiple.

<form action="delete.php" method="post">
echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>';
echo '<input type="submit" value="删除" />';
echo '</form>';

Le code est le suivant :

echo '<form action="delete.php" method="post">';
    echo '<table width="800" border="1">';
    while ($row = mysqli_fetch_assoc($result)) {
        echo '<tr>';
        echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>';
        echo '<td>' . $row['username'] . '</td>';
        echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>';
        echo '<td>' . long2ip($row['createip']) . '</td>';
        echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>';
        echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';
        echo '</tr>';
    }
    echo '</table>';
    echo '<input type="submit" value="删除" />';
    echo '</form>';

6. Fermez la connexion à la base de données

Nous avons fini d'exploiter la base de données, fermez la connexion à la base de données.

mysqli_close($conn);

Le code list.php de la liste d'utilisateurs que nous avons implémenté est le suivant :

<?php

$conn = mysqli_connect('localhost', 'root', 'secret', 'book');

if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}

mysqli_set_charset($conn, 'utf8');

$sql = "select id,username,createtime,createip from user order by id desc";

$result = mysqli_query($conn, $sql);

if ($result && mysqli_num_rows($result)) {


    echo '<table width="800" border="1">';

    while ($row = mysqli_fetch_assoc($result)) {

        echo '<tr>';

        echo '<td>' . $row['username'] . '</td>';
        echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>';
        echo '<td>' . long2ip($row['createip']) . '</td>';
        echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>';
        echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';

        echo '</tr>';
    }

    echo '</table>';

} else {
    echo '没有数据';
}

mysqli_close($conn);


Formation continue
||
<?php $conn = mysqli_connect('localhost', 'root', 'secret', 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8'); $sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql); if ($result && mysqli_num_rows($result)) { echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>'; echo '</tr>'; } echo '</table>'; } else { echo '没有数据'; } mysqli_close($conn);
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel