File size: 4,404 Bytes
7bd7bef
 
5b2d4e7
7bd7bef
 
 
 
 
 
 
 
5b2d4e7
7bd7bef
 
5b2d4e7
7bd7bef
 
 
 
5b2d4e7
 
7bd7bef
 
 
 
 
 
 
 
 
 
5b2d4e7
 
 
 
 
 
7bd7bef
5b2d4e7
7bd7bef
5b2d4e7
 
 
 
 
 
7bd7bef
 
 
 
5b2d4e7
 
 
7bd7bef
 
 
 
5b2d4e7
 
 
7bd7bef
 
5b2d4e7
 
 
 
 
7bd7bef
 
 
5b2d4e7
 
 
7bd7bef
 
5b2d4e7
 
 
7bd7bef
 
 
 
5b2d4e7
 
 
 
7bd7bef
 
5b2d4e7
 
 
 
 
 
 
 
 
 
 
 
7bd7bef
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import streamlit as st


def info_perso():
    # Récupérer le gestionnaire de base de données
    db_manager = st.session_state.get("db_manager")

    if db_manager is None:
        st.error("Erreur : DBManager n'est pas initialisé.")
    else:
        # Récupérer les informations de l'utilisateur connecté
        user_id = st.session_state["user_id"]
        query = f"SELECT * FROM utilisateurs WHERE id_utilisateur = {user_id}"
        user_info = db_manager.query(query)

        if not user_info:
            st.error("Utilisateur non trouvé.")
        else:
            user_info = user_info[0]  # Récupérer la première ligne (unique utilisateur)
            # print(user_info)  # Récupérer et afficher les informations de l'utilisateur

            # Premier formulaire (Nom, Email, Mot de passe)
            col1, col2, col3 = st.columns(3)
            with col1:
                nom = st.text_input("Nom", user_info["login"])
            with col2:
                email = st.text_input("Email", user_info["email"])

            # Deuxième formulaire (Objectifs nutritionnels, Poids, Taille)
            col1, col2, col3 = st.columns(3)
            with col1:

                objectifs_nutritionnels_val = (
                    user_info["objectifs_nutritionnels"]
                    if user_info["objectifs_nutritionnels"]
                    else "Vide"
                )
                objectifs_nutritionnels = st.selectbox(
                    "Objectifs nutritionnels",
                    ["Prise de masse", "Tonification", "Perdre du poids", "Vide"],
                    index=[
                        "Prise de masse",
                        "Tonification",
                        "Perdre du poids",
                        "Vide",
                    ].index(objectifs_nutritionnels_val),
                )
            with col2:
                poids = st.number_input("Poids (kg)", value=user_info["poids"], step=1)
            with col3:
                taille = st.number_input(
                    "Taille (cm)", value=user_info["taille"], step=1
                )

            # Troisième formulaire (Régime particulier, Activité physique, Objectif calorique)
            col1, col2, col3 = st.columns(3)
            with col1:
                regime_particulier = st.text_area(
                    "Régime particulier", user_info["regime_particulier"]
                )
            with col2:
                # Traitement de la valeur vide pour l'activité physique
                activite_physique_val = (
                    user_info["activite_physique"]
                    if user_info["activite_physique"]
                    else "Vide"
                )
                activite_physique = st.selectbox(
                    "Activité physique",
                    ["Sédentaire", "Légère", "Modérée", "Intense", "Vide"],
                    index=["Sédentaire", "Légère", "Modérée", "Intense", "Vide"].index(
                        activite_physique_val
                    ),
                )
            with col3:
                objectif_calorique = st.text_input(
                    "Objectif calorique", user_info["objectif_calorique"]
                )

            # Bouton pour sauvegarder toutes les informations
            if st.button("Tout mettre à jour"):
                table_name = "utilisateurs"

                set_clause = """login = ?, email = ?, objectifs_nutritionnels = ?, poids = ?, taille = ?,

                                regime_particulier = ?, activite_physique = ?, objectif_calorique = ?"""
                condition = "id_utilisateur = ?"

                # Rassembler les paramètres à passer à la méthode
                params = (
                    nom,
                    email,
                    objectifs_nutritionnels,
                    poids,
                    taille,
                    regime_particulier,
                    activite_physique,
                    objectif_calorique,
                    user_id,
                )

                # Appel à la méthode update_data avec les bons paramètres
                db_manager.update_data(table_name, set_clause, condition, params)

                st.success("Informations mises à jour avec succès.")