IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

Modification modèle données et champs formulaires


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut Modification modèle données et champs formulaires
    Bonjour,

    je dois réoudre un probleme sur une application que je dois coder sous zend framework, une application en apparence il s'agit essentiellement de faire de la saisie de données afin de générer des statistiques. Et donc pour cela on a différentes tables qui sont reliées en général à un formulaire qui va récolter les informations nécessaire pour les insérer dans cette table.

    Le petit piège sur ce projet c'est que les utilisateurs finaux souhaitent pouvoir ajouter des champs dans les différents formulaires si ils ressentent le besoin de récolter nouveaux types d'informations. Exemple tout bete: on récolte les informations sur les employés de l'entreprise à travers un formulaire qui comporte un champ téléphone fixe et il s'avert qu'on veuille ajouter un champ téléphone mobile. Jusque là so far so good, cependant afin de sauvegarder cette nouvelle info en base de données, typiquement on va devoir ajouter une nouvelle colonne dans la table Employée de notre base...

    L'application étant développée avec zend framework, c'ets donc là que se pose la tuile car on vient de modifier le modèle de données et donc il faut régénérer le modèle via doctrine ou propel ou la main sous zendDB. Il n'est évidemment pas question de livrer au client une appli sur laquelle il va devoir faire des lignes de commande pour générer des classes du modèle de données.

    ma question: Comment structurer ma base de données pour que je puisse faire les modifications attendues par mon client sans passer passer par l'ajout d'une nouvelle colonne et donc une modification du modèle de données nécessitant une régénération des classes du model?

    Exemple de tables: Produits (prix, description, nom), Magasins(adresse, type)
    exemples formulaire: saisie info produits, saisie info magasin
    Exemple modification: on veut pouvoir saisir et enregistrer en base le nom du fabriquant du produit, et l'on voudrai pouvoir saisir et enregistrer en base le nom du gérant du magasin. Comment pourrai t on structuré la base de donnée pour qu'elle puisse sous zend framework permettre ce type d'opération: ajout de champ formulaire et possibilité d'enregistrer les nouvelles saisies sans modifier la structure de la BDD?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Par défaut
    Hello,

    Je vois bien ton problème et le genre de demande que fais ton client car je l'ai assez souvent rencontrée.
    La solution technique existe mais cela peut rapidement mener à une usine à gaz car si on retraduit la demande cela revient à coder une abstraction dynamique de la base de données.

    Rien ne t'empêche de faire un montage du type :
    - une table products qui ne contient que les infos essentielles (id, name)
    - une table products_properties qui serait une table d'abstraction des propriétes de l'entité product juste pour décrire des types de champs (id, name, type)
    - une table products_properties_values qui donne la ou les valeurs d'une propriété pour un produit (id, product_id, product_property_id, value)

    Avec ça, il est possible de donner une interface permettant d'ajouter des définitions de champ dans product_properties.
    L'usine à gaz viendra quand tu devra te servir de ces champs car c'est au moment de l'exécution que tu connais leur type et par exmeple que tu sauras quelle validation de données appliquer.
    De même, tu ne bénéficie plus au niveau SGBD des fonctions dédiés à certains types à moins de caster, etc...

    Bref, je sais pas ce qui à été vendu à ton client mais ce type d'application "modifiable" par l'utilisateur final demande un gros temps de dev.

    bon courage

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    Regarde ceci, cela pourra te donner un bon coup de main je pense.

Discussions similaires

  1. modification des données dans un formulaire
    Par samia21 dans le forum IHM
    Réponses: 5
    Dernier message: 20/03/2008, 12h39
  2. Réponses: 5
    Dernier message: 22/12/2006, 22h16
  3. [PHP-JS] Modification des données d'un formulaire
    Par leloup84 dans le forum Langage
    Réponses: 5
    Dernier message: 10/10/2006, 17h32
  4. Réponses: 3
    Dernier message: 07/07/2006, 16h06
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo