1. La connexion à la base de données, le jugement des erreurs et la définition du jeu de caractères
La connexion, le jugement des erreurs et la sélection du jeu de caractères ont tous été discutés ci-dessus. 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éparez et envoyez l'instruction SQL
L'ID utilisateur, le nom d'utilisateur, l'heure et l'adresse IP que nous devons interroger seront Rechercher. dehors. 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 vraie. 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 de la boucle
Nous devons afficher tous les résultats dans la forme d'une 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 attribué à $row, et $row est un tableau associatif. Ainsi, dans cette boucle, je peux afficher à la fois des lignes et des colonnes.
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
1. Lors de la suppression, nous le divisons en suppression à sélection unique et suppression à sélection multiple. .
2. Lors de l'édition, nous sélectionnerons un utilisateur
Nous avons ajouté quelques petites choses au code à l'étape précédente pour réaliser la suppression et l'édition sur la page.
Jetons un coup d'œil aux rendus réels pour en déduire le processus de mise en œuvre spécifique. Les effets sont les suivants :
Il y a plusieurs aspects dans. le processus de mise en œuvre Points clés :
1. Lors de la sélection de supprimer ou de modifier, vous devez utiliser la méthode get pour transmettre l'ID, afin que nous sachions quel utilisateur doit être modifié ou supprimé.
2. 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'] . '">Supprimer l'utilisateur</a></td>'; il en va de même pour les 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'] . '">Modifier l'utilisateur</a></td>';
Pour la suppression à sélection multiple, nous devons utiliser la case à cocher en HTML Lors de la transmission de 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>';
7. Fermez la connexion à la base de données
Après avoir exploité la base de données, fermez la connexion à la base de données.
mysqli_close($conn);
Le code de la liste d'utilisateurs list.php 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);