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_Form PHP Discussion :

Populate plusieurs champs avec une même valeur


Sujet :

Zend_Form PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 59
    Points : 54
    Points
    54
    Par défaut Populate plusieurs champs avec une même valeur
    Bonjour,

    Je réalise un bête formulaire de modification d'une ligne dans une table SQL. Je n'utilise pas d'id auto-incrémentable, mais le champs 'name' comme clef primaire.

    Donc, dans le formulaire, j'ai un champs texte 'Name' qui se remplis automatiquement avec la bonne valeur. L'utilisateur peut le modifier.
    Toutefois, pour pouvoir appeler la ligne à modifier lors de l'envoie du formulaire, je veux stocker le Nom d'origine dans un input hidden appelé 'old name'.

    Donc, mes champs de formulaire Name et Old Name doivent être remplis avec la même valeur name par populate.

    Comment faire ?

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Salut,

    Tu es devant un problème de conception.
    La clef primaire ne devrait pas être modifiable par formulaire (ni par un autre moyen d'ailleurs).

    Ne peux tu pas changer le schéma de la base donnée ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 59
    Points : 54
    Points
    54
    Par défaut
    Merci de m'éclairer J'essaie de coder de plus en plus propre, et je suis prêt à prendre en compte toutes les remarques de ce type.

    Je peux utiliser des id auto incrémentés. Toutefois, il me semble que les index se mettent en place automatiquement sur les clefs primaires. Or, avoir un index sur un id n'est pas très intéressant, puisque la majorité des requêtes vont consister à faire des recherches sur les clefs primaires 'naturelles' (nom, titre, etc.). C'est encore plus vrai pour les tables de relations. De plus, cela permet de véritablement exploiter les fonctions du SGBD du type contrôle des doublons etc.

    Bref, je ne suis pas persuadé que mettre des ids auto incrémentés partout soit une très bonne pratique. Sur quoi est basé le principe de ne pas permettre à l'utilisateur de modifier les clefs primaires ?

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par dedis Voir le message
    Sur quoi est basé le principe de ne pas permettre à l'utilisateur de modifier les clefs primaires ?
    C'est surtout pour le maintien de l'intégrité de ta base de données.
    En effet, mettre à jour une clef primaire va t'obliger à cascader sur toutes les tables qui utilisent cette clé comme clé étrangère.

    Pour ce qui est de maintenir tes contrainte d'unicité, les indexes uniques sont faits pour cela.

    La majorité des requêtes vont consister à faire des recherches sur les clefs primaires 'naturelles' (nom, titre, etc.). C'est encore plus vrai pour les tables de relations.
    Lorsqu'il s'agit de relations, les recherches porteront sur l'id (qui sera une clé étrangère pour les autres tables), ce qui est très performant.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 59
    Points : 54
    Points
    54
    Par défaut
    oki, c noté boss

    Existe-t-il un livre ou un wiki où ces problématiques de bonnes pratiques et de performance sont sérieusement abordées ?

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Cet article pose déjà de bonnes bases : http://sqlpro.developpez.com/cours/optimiser/
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/09/2009, 14h20
  2. Update critériel de plusieurs champs d'une même table
    Par Xorbane dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 27/10/2007, 18h12
  3. Réponses: 12
    Dernier message: 10/08/2007, 15h45
  4. Plusieurs Champs d'une même table dans plusieurs textebox
    Par cyberbiker dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 13/09/2006, 11h32
  5. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18

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