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 :

[Tableaux] Cherche des idées [Fait]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut [Tableaux] Cherche des idées
    Salut tout le monde, j'ai besoin de vos lumières sur ce coup là
    J'ai un formulaire pour ajouter un site dans ma base de données. Je dois rentrer plusieurs infos (genre nom du site, adresse, ville ...) et je voudrais aussi ajouter les salles qu'il y a dans ce site. Là où j'ai un ptit problème c'est que le nombre de salle n'est pas fixe.
    Ma question est donc sur le principe de comment faire dans ma page pour ajouter autant de salle que je veux.
    J'avais pensé à un cadre où on tape le nom de la salle, puis on appuie sur un '+' et ca l'ajoute dans une liste a coté. J'espère que je suis claire ?

    J'espère que vous avez plus d'idées que moi

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 61
    Points : 92
    Points
    92
    Par défaut
    Deux solutions : soit tu fais une première étape dans ton script où tu demande la saisie du nombre de salles pour le nouveau site à enregistrer, et tu génère ensuite ton formulaire en fonction des valeurs renvoyées ; soit un champ texte et un bouton "+" qui te permettent d'ajouter à la volée des champs à ton formulaire.

    Dans le deuxième cas, il te faudra une fonction JavaScript pour manipuler l'arbre DOM de ton document, et y ajouter les éléments qui vont bien sous les noeuds du même type.

    En espérant t'avoir aidé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Oui ca me donne des pistes, même si je suis pas encore très doué pour développer (eh oui je débute en php)

    Je vais voir ce que je peux faire avec ce que tu m'as donné
    Merci bien

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Côté structures de données (ta BDD), il te faudra une table `site`, une autre `ville` et enfin une table de correspondances `site_ville` qui ne référence que les identifiants des deux tables principales.

    site (id, nom, adresse, etc.)
    ville (id, nom, etc.)
    site_ville (#id_site, #id_ville)
    Dans ton SQL, il te faudra faire des jointures.

    Concernant le commentaire de Folken Laëneck, je suis tout à fait d'accord. Tu pourrais commencer par mettre en place sa première proposition (plus simple) puis améliorer ton code avec la deuxième proposition (plus intéressante pour l'utilisateur). Dans les deux cas, la structure de données est la même.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Coté bdd j'ai pas de problème, j'ai une table site qui regroupe le nom l'adresse et la ville et puis une table salle avec id de la salle le nom et l'id du site rattaché.

    C'est juste au niveau de la présentation de mon formulaire que j'avais besoin d'idées.
    A ce propos j'ai pensé a ca : j'affiche tous les champs text dont j'ai besoin plus le nombre de salle. Une fois ce nombre rentré, il y a autant de champ text que de salles qui apparaissent en dessous.

    C'est différent de ce que je pensais au départ mais plus simple à mettre en oeuvre pour moi je pense

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Voici un petit exemple d'ajout de champs en javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script language='javascript' type="text/javascript">
    function addField(bouton) {
        var conteneur = bouton.parentNode; // le div qui englobes les balises représentant un champ
        var liste = conteneur.parentNode; // le div qui contient tous les champs
        liste.appendChild(conteneur.cloneNode(true));
    }
    </script>
    <form>
    <div>
    <div>Libellé<input name='champ[]' /><img src='add.gif' onclick='addField(this);' /></div>
    </div>
    <input type='submit' />
    </form>

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Points : 30
    Points
    30
    Par défaut
    bonjour,

    j'ai déjà rencontré la même situtation, je pense donc que ce post pourra t'aider

    http://www.developpez.net/forums/sho...d.php?t=174423

    bonne chance

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Ce que tu peux faire mais embetant pour l'utilisateur; c'est un systeme comme l'envoie de mail multiple

    En gros tu prend un text area et tu demandes a l'utilisateur de metre un ; entre chaque salle

    Avantage pour toi 1 seule varible $_post sur laquelle tu fais un explode et tu recuperes toutes les salles.

  9. #9
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    oui, mais comme tu l'as dis, ce système est vraiment très lourd pour l'utilisateur final.
    Ne vaudrait il pas mieux faire une liste deroulante du nombre de sites, qui apparaitrait ensuite par un controle DOM ??

  10. #10
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    Du moins si c'estune application facultative, dans ce cas il faut penser a la facilité pour l'utilisateur, car comme tout le monde le sait,
    L'utilisateur est le pire ennemi du devellopeur

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Oui mais bon tout le monde le fais pour les mails, alors bon un mec qui arrive sur ton site deja c'est qu'il s'y connait un minimum donc metre une petite asterix ou expliation d'une ligne devant ou audessus du textarea c'est pas trop dure.


    Ou alors tu fais ca avec du java script un champs input qui rajoutera automatiquent avec un petite bouton dans les champs textarea et qui videra le champs input et on a un deuximee bouton qui valide le tout.

    Ca evite de surcharger une page en input super chiant a remplir et qui font grandir la page.

  12. #12
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    C'est vrai qu'au niveau de l'esthétique, les textarea géants c'est pas top ...

  13. #13
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    A noter que dans un soucis de compatibilité avec les navigateurs ayant désactivés javascript, tu as aussi la possibilité de gerer ton bouton "+" comme un bouton submit et de generer les input en php sans javascript. C'est beaucoup plus lourd pour le serveur evidemment, surtout si tu as 300 salles a ajouter, mais c'est plus fiable.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Citation Envoyé par Regnak
    C'est vrai qu'au niveau de l'esthétique, les textarea géants c'est pas top ...

    Euh je vois pas le rapport tu lui donnes la taille que tu veux à ton texte area!!!!!

    Tu sais qu'il fonctionne comme une page internet avec un petit ascenseur non?

  15. #15
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    Oui, mais ce que je voulais dire par la, c'est que le textarea n'est pas top, et que bien qu'on puisse lui faire ressembler a quelquechose en css,
    en html aussi peut etre, ce n'est pas très élégant au milieu d'une page

Discussions similaires

  1. Je cherche des idées de farce pour piéger les copains de mon groupe de formation
    Par chjpset dans le forum La taverne du Club : Humour et divers
    Réponses: 32
    Dernier message: 02/05/2019, 16h36
  2. je cherche des idées de projets java
    Par ihebfseg dans le forum Etudes
    Réponses: 4
    Dernier message: 17/11/2009, 01h58
  3. Cherche des idées de projets
    Par qadassi dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 05/10/2009, 01h54
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28

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