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 :

Tableau de sélection avec boutons radios


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Tableau de sélection avec boutons radios
    Bonjour à tous,

    je vous présente un peu mon code, alors j'affiche via ma base SQL les champs "nom "prenom" "licence" de ma table "licence"

    une partie de mon code
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <center>
    		<form method="post" action="saveinscrit.php?catégorie='.$categorie.'">
    <TABLE WIDTH=50% BORDER=0 CELLPADDING=4 CELLSPACING=3 STYLE="page-break-before: always">
    	<COL WIDTH=5%>
    	<COL WIDTH=15%>
    	<COL WIDTH=15%>
    	<COL WIDTH=15%>
    	<TR VALIGN=TOP>
    		<TD WIDTH=5%>
    			<P ALIGN=CENTER>Cocher</P>
    		</TD>
    		<TD WIDTH=15%>
    			<P ALIGN=CENTER>Nom</P>
    		</TD>
    		<TD WIDTH=15%>
    			<P ALIGN=CENTER>Pr&eacute;nom</P>
    		</TD>
    		<TD WIDTH=15%>
    			<P ALIGN=CENTER>N&deg; de licence</P>
    		</TD>
    	</TR>';
    	$sql = mysql_query('SELECT * FROM licence WHERE Structure = "'.$_SESSION['club'].'" AND sexe = "'.$_GET['sexe'].'" AND Age = "'.$_GET['Age'].'"');
    while ($rep = mysql_fetch_array($sql)){
     
    echo'	
    	<TR VALIGN=TOP>';
    echo'
    		<TD WIDTH=5%>
    			<P ALIGN=CENTER><input type="radio" name="case" value="selection" id="selectrameur" /><BR>
    			</P>
    		</TD>';
    echo'
    		<TD WIDTH=15%>
    			<P ALIGN=CENTER><input type="hidden" name="nom" value="'.$rep["Nom"].'" />'.$rep["Nom"].'<BR>
    			</P>
    		</TD>';
    echo'
    		<TD WIDTH=15%>
    			<P ALIGN=CENTER><input type="hidden" name="prenom" value="'.$rep["Prenom"].'" />'.$rep["Prenom"].'<BR>
    			</P>
    		</TD>';
    echo'		<TD WIDTH=15%>
    			<P ALIGN=CENTER><input type="hidden" name="licence" value="'.$rep["No adherent"].'" />'.$rep["No adherent"].'<BR>
    			</P>
    		</TD>';
    echo'
    	</TR>';
    	}
     
    echo'</TABLE>
    <br> <input type=submit value=Inscrire> -
         <input type=reset value=Annuler>
    	 </center>
    </form>
    mais le problème que je rencontre c'est que lorsque je sélectionne une ligne "nom" "prenom" "licence" elle n'est pas prise en compte dans l'enregistrement, l'enregistrement est effectuer avec la dernière ligne.

    Je pense qu'il faudrait faire une incrémentation avec le bouton ration du genre id="**incrémentation**" pour que je puisse enregistrer la bonne ligne.

    Qu'en pensez vous???

    Merci de votre aide

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Dans ton cas les champs hidden sont inutiles, et comme tu le dis ils prendront la valeur du dernier membre affiché (parce qu'ils ont tous le même nom).

    La solution est de passer en valeur des boutons radios un identifiant unique du membre (parexemple son numéro de license).

    Ce qui donnerait quelque chose comme :
    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
    22
    <TR VALIGN=TOP>
        <TD WIDTH=5%>
            <P ALIGN=CENTER>
                <input type="radio" name="case" value="<?php echo $rep["No adherent"]; ?>"/>
            </P>
        </TD>
        <TD WIDTH=15%>
            <P ALIGN=CENTER>
                <?php echo $rep["Nom"]; ?>
            </P>
        </TD>
        <TD WIDTH=15%>
            <P ALIGN=CENTER>
                <?php echo $rep["Prenom"]; ?>
            </P>
        </TD>
        <TD WIDTH=15%>
            <P ALIGN=CENTER>
                <?php echo $rep["No adherent"]; ?>
            </P>
        </TD>
    </TR>
    Voir les tutos sur les formulaires :
    http://julp.developpez.com/php/formulaires/#L3
    http://g-rossolini.developpez.com/tu...tique#LIII-A-3

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Merci de ta réponse "express" je vais voir le résultat!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Oui cela fonctionne j'ai juste ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="case" value="'.$rep["No adherent"].' '.$rep["Nom"].' '.$rep["Prenom"].' "/>
    Cependant pour ajouter l'enregistrement dans ma base j'ai besoin du nom prénom et No Adherent mais ces variables sont tous contenu dans Comment faire pour les dissociées?

    Merci d"avance

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Tu n'as pas vraiment besoin de les avoir dans les paramètres, si tu utilises un identifiant unique (comme le numéro de license que j'avais proposé).

    Quelle est la structure de ta base de données ?

    Tu as déjà une table license, avec les champs structure, sexe, age, nom, prenom, No adherent. (au passage, j'imagine que cette table contient tous les licenciés d'une année ? sinon comment fais tu pour gérer le champs âge ? Ne faudrait-il pas plutôt un champ date_de_naissance ?)

    Dans quelle table veux tu les ajouter ?
    Imaginons une table 'inscription', si tu n'y mets que le No adhérent, tu peux retrouver les infos du membre en faisant une jointure avec la table license, non ?

    Si tu veux vraiment y ajouter Nom, et Prénom, c'est de toutes façons possible en faisant une requête qui ressemblerait à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO inscription (categorie, no_adherent, nom, prenom)
    SELECT '$categorie', no_adherent, nom, prenom
    FROM license
    WHERE no_adherent = $no_adherent

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Wouha c'est du 2 en 1 que tu me propose un INSERT et un SELECT je n'avais encore jamais fait...

    Pour répondre à tes questions ma variable $age ne correspond pas à la date de naissance mais à l'age au niveau des catégories exemple: minime, cadet, senior...

    J'ajoute mes enregistrement dans une table appelé "inscritcompetition" comportant les champs suivant: "id" "nom" "prenom" "licence" "club" "categorie"

    Le nom prénom licence -->(cf:No Adherent) proviennent de mon formulaire, club provient de la session en cours sur le site et categorie de la page sur laquelle se trouve la personne.

    Pour me faciliter la tache je voulais juste avoir le formulaire avec des POST à récupérer et hop! dans la BDD mais je me suis aperçu que ce n'était pas si simple que ça, et c'est donc pour cela que je suis venu vous voir



    Merci de ton aide

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

Discussions similaires

  1. [WD10] Tableau avec Bouton Radios et Combo
    Par karim.net7 dans le forum WinDev
    Réponses: 2
    Dernier message: 09/11/2010, 17h26
  2. Réponses: 19
    Dernier message: 04/08/2008, 12h38
  3. Problème avec bouton radio sous IE.
    Par waldo2188 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/06/2006, 12h11
  4. peut on rafraichir une page avec bouton radio?
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/06/2006, 12h33
  5. Réponses: 7
    Dernier message: 26/05/2006, 14h14

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