Maison >développement back-end >tutoriel php >Solution au problème selon lequel les loisirs ne peuvent pas être affichés dans la base de données PHP

Solution au problème selon lequel les loisirs ne peuvent pas être affichés dans la base de données PHP

WBOY
WBOYoriginal
2024-02-29 16:03:03616parcourir

Solution au problème selon lequel les loisirs ne peuvent pas être affichés dans la base de données PHP

Solution au problème selon lequel les loisirs ne peuvent pas être affichés dans la base de données PHP

Lors du développement d'un site Web ou d'une application, cela implique souvent des opérations qui interagissent avec la base de données. Parfois, nous devons afficher les informations sur les loisirs de l'utilisateur sur la page, mais stocker les loisirs de l'utilisateur dans la base de données n'est pas une tâche simple. Cet article explique comment résoudre le problème selon lequel la base de données ne peut pas afficher les loisirs en PHP et fournit des exemples de code spécifiques pour référence.

Description du problème

Supposons que nous ayons une table utilisateur (utilisateurs) et une table de loisirs (loisirs). La table utilisateur stocke les informations de base de l'utilisateur et la table des loisirs stocke les différentes informations sur les loisirs de l'utilisateur. Pièces d'identité. Nous devons maintenant afficher les informations sur les loisirs de l'utilisateur sur la page en fonction de l'ID utilisateur, mais les loisirs de l'utilisateur ne peuvent pas être directement affichés dans la base de données.

Idée de solution

Afin de résoudre ce problème, nous pouvons la mettre en œuvre à travers les étapes suivantes :

  1. Établir une table d'association entre les utilisateurs et les loisirs (user_hobbies) dans la base de données, et enregistrer l'ID utilisateur et l'ID de passe-temps correspondant dans la table.
  2. Interrogez les informations de l'utilisateur en PHP et interrogez l'ID de passe-temps correspondant via l'ID utilisateur.
  3. Requérez des informations de passe-temps spécifiques en fonction de l'identifiant du passe-temps.
  4. Affichez les informations sur les loisirs de l'utilisateur sur la page.

Implémentation spécifique

1. Créez une table d'association

Tout d'abord, créez une table d'association nommée user_hobbies dans la base de données pour stocker les informations d'association des utilisateurs et des loisirs. La structure du tableau est la suivante :

CREATE TABLE user_hobbies (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    user_id INT(11),
    hobby_id INT(11)
);

2. Interroger les informations utilisateur

Dans le code PHP, nous interrogeons d'abord les informations de base de l'utilisateur et obtenons l'ID utilisateur. Supposons que nous ayons obtenu l’ID utilisateur 1.

<?php
$userId = 1;
// 查询用户信息的SQL语句
$query = "SELECT * FROM users WHERE id = $userId";
// 执行查询操作
// 这里假设使用PDO进行数据库操作
$stmt = $pdo->query($query);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
?>

3. Interroger les informations de passe-temps de l'utilisateur

Ensuite, nous interrogeons les informations de passe-temps de l'utilisateur en fonction de l'ID utilisateur.

<?php
// 查询用户的爱好ID的SQL语句
$query = "SELECT hobby_id FROM user_hobbies WHERE user_id = $userId";
$stmt = $pdo->query($query);
$hobbyIds = $stmt->fetchAll(PDO::FETCH_COLUMN);
?>

4. Recherchez les informations sur le passe-temps et affichez-les

Enfin, interrogez les informations spécifiques sur le passe-temps en fonction de l'identifiant de passe-temps obtenu et affichez-les sur la page.

<?php
// 根据爱好ID查询爱好信息的SQL语句
$query = "SELECT * FROM hobbies WHERE id IN (".implode(',', $hobbyIds).")";
$stmt = $pdo->query($query);
$hobbies = $stmt->fetchAll(PDO::FETCH_ASSOC);

// 在页面上展示用户的爱好信息
foreach ($hobbies as $hobby) {
    echo $hobby['name']."<br>";
}
?>

Grâce aux étapes ci-dessus, nous avons résolu avec succès le problème de l'impossibilité d'afficher les informations sur les loisirs des utilisateurs dans la base de données PHP. En établissant une table de corrélation, en interrogeant les informations de corrélation entre les utilisateurs et les passe-temps et en affichant des informations de passe-temps spécifiques, nous pouvons afficher les informations sur les passe-temps de l'utilisateur sur la page.

Conclusion

L'incapacité d'afficher directement les informations sur les loisirs dans la base de données est un problème courant, mais grâce à des opérations de conception et de requête raisonnables, nous pouvons facilement résoudre ce problème. J'espère que les solutions décrites dans cet article vous seront utiles. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un message pour communiquer.

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