Lorsque vous développez des applications de site Web PHP, nous devons souvent afficher dynamiquement les données obtenues de la base de données vers l'avant, et nous espérons qu'après que l'utilisateur a actualisé ou quitté la page, ces données peuvent être stockées de manière persistante pour éviter la perte. La combinaison de la fonction MySQLI_RESULT avec le stockage de session de PHP peut atteindre cet objectif très facilement. Cet article présentera en détail comment utiliser ces deux pour l'affichage dynamique et la persistance des données.
MySQLI_RESULT est une classe en PHP qui gère les résultats de la requête MySQL. Il est généralement obtenu via la fonction MySQLI_Query ou MySQLI_STORE_RESULT , et fournit une variété de façons de parcourir les résultats de la requête. Voici un exemple simple:
<?php
// Se connecter à MySQL base de données
$mysqli = new mysqli("localhost", "user", "password", "database");
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Exécuter une requête
$query = "SELECT id, name, email FROM users";
$result = $mysqli->query($query);
// utiliser mysqli_result Classes pour traverser les résultats de la requête
if ($result->num_rows > 0) {
// Données de sortie pour chaque ligne
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 résultat";
}
$mysqli->close();
?>
Dans le code ci-dessus, la variable de résultat $ contient les résultats de la requête de la base de données. Nous utilisons la méthode fetch_assoc pour extraire la ligne de données par ligne et l'affichage.
La session est une méthode fournie par PHP pour stocker les informations de session utilisateur. Lorsqu'un utilisateur visite un site Web, PHP attribuera à chaque utilisateur un ID de session unique et stockera certaines données via cet ID. Ces données peuvent rester inchangées tout au long de la session de l'utilisateur jusqu'à ce que l'utilisateur quitte la session ou ferme le navigateur.
L'utilisation de la session est très simple. Nous avons juste besoin de démarrer la session via session_start () , puis d'utiliser le tableau $ _Session pour stocker et obtenir les données.
<?php
// Démarrer une session
session_start();
// Stocker des données à Session
$_SESSION['user_id'] = 1;
$_SESSION['user_name'] = "John Doe";
// Obtenir des données
echo $_SESSION['user_name']; // Sortir: John Doe
?>
Ensuite, nous combinerons la fonction MySQLI_RESULT et le stockage de session pour implémenter une fonction: obtenir dynamiquement les données de l'utilisateur à partir de la base de données et l'afficher, tout en maintenant le stockage persistant des données de l'utilisateur une fois la page actualisée ou que l'utilisateur quitte.
Tout d'abord, nous devons interroger les données requises de la base de données et stocker ces données dans la session . Ici, nous supposons que nous voulons obtenir les informations de base de l'utilisateur et les stocker dans la session afin qu'elle puisse être utilisée directement dans l'accès ultérieur.
<?php
// Démarrer une session
session_start();
// Se connecter àbase de données
$mysqli = new mysqli("localhost", "user", "password", "database");
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Exécuter une requête
$query = "SELECT id, name, email FROM users WHERE id = 1";
$result = $mysqli->query($query);
// 将查询résultat存储到 Session
if ($result->num_rows > 0) {
$user_data = $result->fetch_assoc();
$_SESSION['user_data'] = $user_data;
} else {
echo "Aucune donnée utilisateur trouvé";
}
$mysqli->close();
?>
Ensuite, nous devons afficher dynamiquement les données stockées dans la session sur la page. Peu importe le nombre de fois que l'utilisateur actualise la page, les données peuvent être conservées dans le réseau de session $ _SESSION tant que la session n'a pas expiré ou est effacée.
<?php
// Démarrer une session
session_start();
// Vérifiez si les données utilisateur ont été stockées
if (isset($_SESSION['user_data'])) {
$user_data = $_SESSION['user_data'];
echo "utilisateur ID: " . $user_data['id'] . "<br>";
echo "utilisateur名: " . $user_data['name'] . "<br>";
echo "e-mail: " . $user_data['email'] . "<br>";
} else {
echo "Aucune donnée utilisateur trouvé";
}
?>
Parfois, nous devons effacer les données de la session lorsque l'utilisateur se déconnecte ou se déconnecte. Les données de session peuvent être effacées à l'aide de session_unset () ou de session_destroy () .
<?php
// Démarrer une session
session_start();
// Clair Session données
session_unset();
// détruire Session
session_destroy();
echo "Vous avez réussi à déconnecter";
?>
En combinant la fonction MySQLI_RESULT et le stockage de session PHP, nous pouvons afficher dynamiquement les données de la base de données et maintenir la persistance des données après que l'utilisateur a rafraîchi la page. La session fournit un espace de stockage persistant pour chaque utilisateur, et MySQLI_RESULT nous permet d'obtenir facilement et de traiter les données de la base de données.
Cette technologie est très utile pour les applications qui nécessitent un statut de connexion des utilisateurs, des paramètres personnalisés ou stocker temporairement les données utilisateur. En combinant de manière flexible ces deux, vous pouvez améliorer l'expérience utilisateur et gérer efficacement les données.
Étiquettes associées:
Session