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 :

cases à cocher en nombre variable


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut cases à cocher en nombre variable
    Bonjour,

    je crains que la question n'ait déjà été traitée, mais, là, je patine...

    J'ai une table joueurs du genre
    id | joueur_1 | joueur_2 |...| joueur_30

    Comment produire le formulaire pour ne pas utiliser systématiquement 30 champs si je n'ai que 15 joueurs ?

    Comment récupérer les valeurs de la bdd pour un enregistrement et pouvoir à nouveau le cocher si la bdd porte 1 et ne pas le cocher si la bdd porte 0 ?

    Comment traiter les champs à l'envoi du formulaire ?

    Par avance, merci...

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Bonsoir, pour avoir le bon nombre de champ à votre formulaire, deux choix

    1) mettre un champ nbJoueur dans la table qui contient id et joueurXX, l'incrémenter quand un joueur s'inscrit et le décrémenter quand un joueur se désinscrit

    2) Compter le nombre de champs de la table concernée...

    Si j'ai bien compris, la table pour 3 joueurs serait

    id=12, joueur1=toto, joueur2=titi, joueur3=tata

    J'y ajouterai donc,

    id=12, joueur1=toto, joueur2=titi, joueur3=tata, nbJoueurs=3



    Ensuite, la page php qui génère le formulaire utilise une boucle style for pour créer un champ par joueur, (je ne sais pas comment vous voulez organiser le formulaire)

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    function getNbJoueurs($nomTable)
    {
      	mysql_connect($bddHost,$bddUser,$bddPass);
                 mysql_select_db($bddName);
     
                 $sql = 'SELECT `nbJoueurs` '
                          .  ' FROM ' . $nomTable
                          . ' WHERE 1 LIMIT 0, 30'; 
    }
     
    $nbJoueurs = getNbJoueurs($maTable);
     
    echo "<form method=\"post\" enctype=\"multipart/form-data\" 			action=\"suite.php\">";
     
    for ($i=0 ; $i<$nbJoueurs ; $i++)
    {
        echo "joueur numéro " . $i. " <input name=\"login\" maxlength=15>";
    }
     
    echo "</form>";
    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  3. #3
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Voilà une piste intéressante.
    Ce que je cherche à faire n'a pas besoin de valeurs autres que 0 ou 1.
    C'est pourquoi je pensais à des checkbox.

    Si vous avez une piste avec des checkbox, je suis preneur...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Une petite réflexion sur la conception de ta table.
    Peut-il y avoir une ligne avec 30 joueurs et une autre avec 12 joueurs par exemple ?

  5. #5
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par vg33
    Une petite réflexion sur la conception de ta table.
    Peut-il y avoir une ligne avec 30 joueurs et une autre avec 12 joueurs par exemple ?
    oui

  6. #6
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Pour mettre des checkboxs,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    echo "<form method=\"post\" enctype=\"multipart/form-data\" action=\"suite.php\">";
     
    for ($i=0 ; $i<$nbJoueurs ; $i++)
    {
        echo "
           <input type=\"radio\" name=\"joueur" . $i . "\" value=\"0\"> <br>
           <input type=\"radio\" name=\"joueur" . $i . "\" value=\"1\"> <br><br>
        ";
    }
     
    echo "</form>";
    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Alors il est probable que ta conception des tables n'est pas idéale.
    Théoriquement, sauf rares exceptions, tu ne dois pas avoir de champs vides. C'est le principe ACID.
    Je te conseille donc la structure suivante :
    Table jeu_joueurs
    id_jeu
    id_joueur

    Et c'est tout. Les modifications deviennes ultra rapides. Un joueur en plus => INSERT. Un joueur en moins => DELETE. Nombre de joueurs => COUNT...
    Et surtout : il n'y a pas un champ de vide, et tu ne dois pas modifier la table si tu veux passer à 50, 100, 10000 joueurs par jeu.

  8. #8
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Alors il est probable que ta conception des tables n'est pas idéale.
    C'était un peu le sens de ma question initiale : ma construction n'est pas bonne à la base.
    Je reprends tout ça depuis le début.

    Merci à tous de votre aide.

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

Discussions similaires

  1. Compter le nombre de case à cocher
    Par solaar dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/11/2009, 16h57
  2. QCheckBox->limité nombres de cases à cocher
    Par theory23 dans le forum Qt
    Réponses: 2
    Dernier message: 30/04/2009, 09h43
  3. [RegEx] Analyse de tableau HTML avec nombre variable de cases
    Par ddelec24 dans le forum Langage
    Réponses: 9
    Dernier message: 11/04/2009, 21h39
  4. Réponses: 12
    Dernier message: 14/12/2008, 12h17
  5. [Etat] Compter nombre de case à cocher = vrai
    Par skeut dans le forum VBA Access
    Réponses: 7
    Dernier message: 17/06/2008, 22h56

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