Spaces:
Sleeping
Sleeping
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.")
|