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

Langage PHP Discussion :

Formulaire et sous Formulaire [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 321
    Par défaut Formulaire et sous Formulaire
    Bonjour à tous,

    Après la lecture du doc de Guillaume Rossolini, je me heurte à un problème de construction de formulaire.

    En simplifiant très fortement, disons que ma base de données recueille des informations sur des humains. Chaque humain à la possibilité de rentrer des infos sur ses enfants.

    Du coup, concrètement, j'ai un formulaire contenant diverses balises pour recueillir le non, prénom, date de naissance, ville etc....

    En dessous, j'aimerais faire en sorte qu'on puisse entrer le prénom et ladate de naissance des enfants. Mais comment prévoir si un adulte à 0,1 ou 36 enfants ?
    Je ne peux quand même pas mettre 20(30,40...) input(s) pour répondre à toutes les possibilités.
    Je me suis tourné vers une nouvelle fenetre qui permet d'enregistrer les enfants un à un en fonction de l'id de l'individu de la fenêtre principale (grace à des $_SESSION['id_users']. Mais cela ne me plait pas.

    Avant je faisais tout cela sous ACCESS, et il n'y avait pas de problème mais en Php_Html_MySql, je ne sais pas......
    Auriez-vous une super idée pour me dépanner.

    Merci à tous et surtout bonnes fêtes.

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    Tu pourrais toujours le faire en deux temps :

    - Dans un premier tu recueille le nombre d'enfants N
    - ensuite tu produits un formulaire contentant N inputs.

  3. #3
    Membre éclairé Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 321
    Par défaut
    SAlut Thes32,

    Effectivement, je n'y avais pas pensé. J'avais aussi envisagé de faire un bouton avec une fonction JavaScript, qui me créerait des "Frères aux inputs". Mais je ne sais pas si c'est vraiment possible.

    Et puis il y a toujours le risque (classique) que l'internaute n'ait pas activé Javascript.

    Du coup ta solution est intéressante

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Citation Envoyé par FadeToBlack Voir le message
    SAlut Thes32,

    Effectivement, je n'y avais pas pensé. J'avais aussi envisagé de faire un bouton avec une fonction JavaScript, qui me créerait des "Frères aux inputs". Mais je ne sais pas si c'est vraiment possible.
    C'est tout a fait possible et même assez facile et c'est cette solution que j'aurais privilégiée pour éviter d'avoir à faire rafraichir la page.
    Evidemment le plus complet serait d'implémenter les deux méthodes (ajout javascript et php si javascript désactivé) mais ça demande plus de boulot. Maintenant sauf pour ce qui touche à la sécurité je ne double plus mes scripts car tout le monde a javascript activé par défaut (sinon y'a même plus un site sur deux qui fonctionne correctement...) Donc c'est à voir avec ton cahier des charges.

  5. #5
    Membre éclairé Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 321
    Par défaut
    Salut et merci à tous les deux...

    Maintenant, une autre question se pose :

    Lors du "submit" de mon formulaire, je vais me retrouver avec des $_POST[enfant1], $_POST[enfant2], $_POST[enfant3] etc.... évidemment avec les autres champs associés.

    Du coup, lors de l'appel de ma classe d'insertion, comment faire pour qu'il y ait x insertions distinctes. J'imagine une boucle for quelconque. Mais comment déterminer ce nombre ?

    Toujours grace à JS qui récupère le nombre de "frères" et passe ce résultat à la classique variable $i de la boucle ? PArce que j'avoue là je seche et je ne sais pas comment construire cette classe.

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    tu devrait faire en sorte que ton formulaire t'envoi un tableau d'enfant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="enfant[nb][]" id="input" />
    voir même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="enfant[][]" id="input" />
    si tu n'a pas besoin de retenir un ordre dans les enfants (enfant 1, enfant 2, ...)

    où nb est à remplasser par un nombre que tu générera en JS,

    ensuite dans ton script php qui récupère ton tableau et tu le traite avec la fonction foreach()

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

Discussions similaires

  1. Lier un sous-formulaire à un sous-formulaire
    Par bobosh dans le forum IHM
    Réponses: 2
    Dernier message: 02/03/2021, 11h45
  2. Réponses: 5
    Dernier message: 06/05/2015, 12h24
  3. Réponses: 2
    Dernier message: 24/06/2013, 09h31
  4. Réponses: 2
    Dernier message: 23/06/2013, 21h07
  5. Accéder à un sous-formulaire de sous-formulaire
    Par touftouf57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/11/2008, 19h04

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