Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2006, 11h50   #1
Futur Membre du Club
 
Inscription : juin 2002
Messages : 104
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 104
Points : 18
Points : 18
Par défaut [Conception] Formulaire dynamique de gestion d'une BD

Salut,

j'administre (et je débute ! ) un site web et une BD où sont stockées des données spécifiques pour chaque utilisateur et qui sont affichées sur le site sous forme de tableaux.

L'organisation de ces données est assez complexe car utilise plusieurs tables de la BD.

Le problème est que je voudrais que les utilisateurs via un password puissent accéder à leur données via une page pour pouvoir les modifier, supprimer ou en ajouter de nouvelles.

J'avais pensé à un sytème où les données seraient présentées de manière similaire à celles du tableau (existant déja) pour plus de clarté ! Chaque case serait donc un champ éditable où serait présente la donnée existante.

A la fin de chaque ligne, on trouverait un bouton pour faire un update, supprimer la ligne.

A la fin du tableau, il y aurait possibilité de rajouter de nouvelles lignes.

La difficulté provient, qu'à chaque ligne de ce tableau de saisie (formulaire finalement), chaque valeur (colonne) correspond à un enregistrement d'une table de la BD et met en jeu plusieurs autres tables !
Donc à chaque ligne, plusieurs requètes seraient nécessaires lors d'une insertion. Pas facile pour s'y retrouver avec toutes les clés de table et suivant la ligne où on se trouve...

La chose est dynamique du fait que personne n'a le même nombre de données et de plus, le nombre de colonnes diffère entre eux !

Ca me parait difficile à mettre en place voire lourd et impossible !

Si vous pouviez m'exposer vos idées, vos conseils à suivre.

Merci d'avance.
BARBIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 12h24   #2
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
Si tu pouvais nous éclairer un peu plus ...
Voire nous dire ce que tu veux afficher et la structure des tes tables ... parce que là c est un peu flou ... il faudrait du concret !!!
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 13h22   #3
Membre à l'essai
 
Inscription : mars 2006
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 26
Points : 24
Points : 24
Citation:
Envoyé par AurelBUD
Si tu pouvais nous éclairer un peu plus ...parce que là c est un peu flou ... il faudrait du concret !!!
c'est clair que la perso je vois pas trop ce que tu veux dire! explique nous un peu mieux en quoi on peut t'aider.

merci
krimback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 13h28   #4
Futur Membre du Club
 
Inscription : juin 2002
Messages : 104
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 104
Points : 18
Points : 18
C'est secret défense ! Enfin, pour le moment, c'est des données privées !

En quoi la structure des tables va t'en dire plus : il s'agit de tables classiques d'une BD PostgreSQL.

Il s'agit de données biologiques de type textes, entiers,... :
- une table contenant pour chaque enregistrement une donnée (valeur d'intérêt)
- une table contenant des données statistiques associées aux données de la précédente table
- d'autres tables décrivants les unités de la valeur, traitements, organe de prélèvement,...

Donc je voudrais juste afficher les valeurs de la première table avec sa statistique associée (seconde table) et que le tout soit éditable. Le contenu des autres tables n'est pas visible pour l'utilisateur mais elles sont essentielles pourtant lors des requètes d'insertions car leurs valeurs sont présentes dans chaque enregistrement de la première table.

Donc au moins 2 problèmes se posent :
- affichage de ce formulaire géant
- maj des tables et comment faire pour s'y retrouver avec tous les indices de chaque table ?

Je ne suis pas sûr que ça puisse éclaircir quelque chose.

Pour le moment, je me contente d'insérer des données dans ces tables mais comme je suis en CDD ; dès que je vais partir, les gnes ne pourront plus modifier ou insérer de nouvelles données, à moins qu'ils embauchent quelqu'un d'autre !
BARBIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 13h34   #5
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
Bah ca m eclaire pas du tout ...
As tu dejà fait un MCD pour modeliser les données dont tu as besoin ???

Peut etre que tes données sont mal organisées si tu ne vois pas par ou commencer ...

Un diagramme de classe ou un MCD pourrait m'aider ... mais là c est vraiment trop abstrait
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h03   #6
Futur Membre du Club
 
Inscription : juin 2002
Messages : 104
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 104
Points : 18
Points : 18
Ca n'est pas moi qui l'ait fait mais effectivement, je dois avoir un diagramme de classes quelque part.



Par contre, en plus de mon problème, il faudrait que tu m'éclaires sur la manière dont ceci va bien pouvoir t'aider à mieux comprendre !

Ici, 5 tables sont montrées :
- 'characterization_data' est la table contenant les valeurs (champs 'value') + toutes les clés ( se finissant par 'id' faisant référence aux autres tables ). Le champ 'manip_id' permet de discriminer les utilisateurs.
- 'statistical_data' qui contient les données statistiques attachées à la valeur de l'autre table
- Les autres tables ne méritent pas de description particulière car leur contenu ne doit pas être affiché (on y fait appel que lors des update, insert.

Voilà
BARBIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h11   #7
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
En fait tu veux que l'on fasse quoi ??
Que l'on concoive le projet à ta place ???

Parce que la question que tu pauses en fait c est comment faire pour développer mon projet ...
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h21   #8
Membre confirmé
 
Avatar de allyson
 
Inscription : août 2003
Messages : 248
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 248
Points : 232
Points : 232
Envoyer un message via Yahoo à allyson
salut,
je te conseille de récupérer l'id de la personne qui est loggée et de t'en servir pour récupérer ses données des différentes tables (dsl mais ton schéma m'effraie )!
__________________
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
allyson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h42   #9
Futur Membre du Club
 
Inscription : juin 2002
Messages : 104
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 104
Points : 18
Points : 18
Citation:
Envoyé par AurelBUD
En fait tu veux que l'on fasse quoi ??
Que l'on concoive le projet à ta place ???

Parce que la question que tu pauses en fait c est comment faire pour développer mon projet ...
En fait, c'est une possibilité si tu as du temps à perdre !

Et encore, ce n'est qu'une petite partie du schéma !

Pour être plus sérieux, je sais comment faire pour récupérer toutes les données suivant la personne logguée car je le fais déjà (j'affiche le tout dans un tableau).

Je veux juste créer une autre section où les données de la personnes seraient affichées de la même manière que le tableau visible actuellement mais sous une forme éditable.

Je ne vois pas trop comment opérer (la marche à suivre pour le faire en php) ! Je vais me répéter mais pour une ligne affichée, comment pourrais-je bien faire pour que la modif éffectuée soit exactement affectée au bon endroit dans les tables de la BD car je n'aurais plus de repère dans ma table ! Je débute en php...

Faudrait-il un seul bouton pour l'ensemble des lignes ou alors un par ligne.
Je cherche un peu à faire un truc à la manière de l'interface php phpPgAdmin pour postgreSQL (où l'on peut modifier les lignes affichées des tables). Je suis donc au point mort quetion conception et réalisation.
BARBIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h58   #10
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
Code :
UPDATE TABLE_1, TABLE_2, TABLE_n SET MA_COLONE=ma_valeur WHERE ID_DU_GUIGNOL=son_ID
:

vive le manuel de référence de MySQL
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 17h58   #11
Futur Membre du Club
 
Inscription : juin 2002
Messages : 104
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 104
Points : 18
Points : 18
Est-ce que l'update multiple est toléré sous postgreSQL : ça n'a pas l'air d'être mentionné dans le manuel.

Je crois que ce que je veux faire est beaucoup trop ambitieux par rapport à mes capacités de programmeur !
BARBIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h06.


 
 
 
 
Partenaires

Hébergement Web