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

PHP & Base de données Discussion :

Modifier un formulaire pour qu'il soit dynamique [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut Modifier un formulaire pour qu'il soit dynamique
    Bonjour

    Je suis actuellement en train de reprendre un code existant. Il s'agit d'un formulaire sensé référencer les revendeurs d'une entreprise. Il fonctionne bien mais j'aimerais y apporter une modification.

    A l'heure actuelle, si un revendeur a 2 adresses différentes il doit être enregistré dans la BDD sous 2 entité différentes et donc la manipulation doit être doublée par l'utilisateur.

    Ce que je voudrais c'est qu'au moment de la saisie, l'utilisateur puisse décider de cocher une case/appuyer sur un bouton pour signaler que ce revendeur aura 2 adresses et sera donc enregistré 2 fois (ou plus selon le nombre de fois que l'utilisateur aura cliquer), mais au lieu de tout retaper, il n'aura qu'à renseigner quelques champs supplémentaires (adresse, ville, CP).

    Quelle méthode préconiseriez vous?

    Merci

  2. #2
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    selon moi, le formulaire devrait demander obligatoirement une adresse, donc un champ adresse, cp et ville.

    un autre formulaire pourrait lui permettre d'ajouter une énième adresse sur son compte.


    Coté base de données il serait préférable de dissocier les adresses des profils. en mettant une table revendeur, et une table adresses

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut déjà reflechir a la structure avant de penser a l'ergonomie.

    Si tes revendeurs peuvent avoir plusieurs adresses, il faut que les adresses soient stockées dans une table séparée.

    Si tu enregistres un nouveau revendeur pour chaque adresse, comment ferrais-tu ensuite pour retrouver tous les elements du revendeur par exemple.

  4. #4
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Comme dis précédemment c'est un site que j'ai repris. La structure et la BDD existent donc déjà. Si possible j'aimerais ne pas avoir à les modifier. Je sais qu'une dissociation du revendeur et de son adresse aurait été plus judicieux mais la base a été fait autrement et regroupe toutes les informations.

    Donc en gardant la même structure, je voudrais faire en sorte que coté client on ait la partie "adresse" (ville, cp, etc...) qui soit ajoutable à volonté, mais que le reste ne change pas. Et coté BDD on ajouterait X enregistrements en fonction des X ajouts fait par le client.

    Réalisable?

  5. #5
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Réalisable? oui
    Mai c'est très sale... mais si tu n'a pas le choix...

    il faudrait, je persiste, réaliser un formulaire d'ajout d'adresse.

    le revendeur accède au formulaire, ajoute les 3 champs (adresse, cp, ville), enregistre. et toi de coté, tu duplique son entrée en ne modifiant que les 3 champs adresse, cp et ville !

    Je vais t'aider sur la requète , ca donnerait quelque chose du style :


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO REVENDEUR(raison_social,nom,prenom,tel,adresse,cp,ville)
    SELECT raison_social,nom,prenom,tel,'" . $_POST['adresse'] . "','" . $_POST['cp'] . "','" . $_POST['ville'] . "') 
    FROM REVENDEUR
    WHERE id_revendeur = '$id_revendeur';

  6. #6
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    En fait si je comprend bien ce que tu préconises c'est un formulaire regroupant les informations générales (nom, CA, etc...) et un second ou on aurait d'abord un select (par exemple) pour choisir le revendeur et ensuite un formulaire pour ajouter la ou les adresses.

    Exact?

  7. #7
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    c'est vrai que modifier la base en fonction de ce que tu veux faire serait beaucoup mieux et plus pratique pour toi pour la suite mais si tu ne peux pas alors oui c'est une solution possible

    une autre possible serait de mettre toutes les adresses à la suite séparées par ce que tu veux et tu découpe avec cette séparation pour l'affichage (mais c'est pareil ce n'est pas super propre)

  8. #8
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Non je pense que je vais suivre ce qui m'a été proposé, je vais scinder la table existante en 2.

    Par contre j'ai pas trop d'idée sur l'affichage de la chose ...

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 185
    Points : 160
    Points
    160
    Par défaut
    Tu mets adresse[] dans le nom du formulaire et ensuite en php tu récup ça avec un :

    foreach($_POST['adresse'] as $adresse)

  10. #10
    Membre habitué Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 223
    Points : 128
    Points
    128
    Par défaut
    Non en fait je voulais parlé de l'affichage coté client.

    Pour la sélection du revendeur (une fois qu'il a été crée bien sur) pas de soucis, un bête <select> et on en parle plus.

    Mais il va rentrer sa première adresse avec un formulaire contenant 4 ou 5 lignes par exemple.

    Est ce qu'il vaut mieux faire un bouton/case à cocher pour afficher le même formulaire à la suite du premier? Ou alors vider le formulaire et l'inviter à retaper la seconde adresse après l'enregistrement de la première?

  11. #11
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    A mon avis tu mets le formulaire avec les champs nom, CA, adresse, CP, ville...
    Et une case à cocher "Je souhaite ajouter une autre adresse".
    Si c'est coché, ca renvoit l'utilisateur vers le formulaire, mais les champs nom et CA sont non modifiables.

    Gillou.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/05/2010, 09h57
  2. Formulaire pour modifier une base mysql
    Par ogn123 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 16/04/2009, 09h32
  3. Formulaire pour modifier une entrée
    Par oranocha dans le forum Zend_Form
    Réponses: 2
    Dernier message: 30/01/2009, 16h51
  4. Réponses: 5
    Dernier message: 05/01/2007, 16h15
  5. [MySQL] Un formulaire pour afficher et modifier un enregistrement
    Par Atchoum_002 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/09/2005, 14h13

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