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 :

Structure répétitive, checkbox et récupération des valeurs


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 66
    Points
    66
    Par défaut Structure répétitive, checkbox et récupération des valeurs
    Bonsoir !
    Voilà, je développe un p'tit site et je me trouve devant un problème :
    J'ai deux pages (l'une avec un formulaire de connexion, l'autre servant à inscrire les valeurs dans la BdD.
    La première page (le formulaire), une fois connecté, affiche une liste sous forme d'un tableau créée dynamiquement ligne par ligne à partir de la BdD.
    Il contient : une checkbox, une photo, une référence, une désignation, une description.


    En clair :
    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
     
    [...]
            echo "
            <body bgcolor='orange'>
            <form METHOD='POST' ACTION='preinscription.php'>
            <table align='center' border='0' cellspacing='0' bordercolor='black' cellpadding='0' weight='100%'>
                <tr>
                    <td align='center' colspan='2'><br/><br/>
                    <h1>Bienvenue à l'écran de pré-inscription</h1>
                    <br/></td>
                </tr>
                <tr>
                    <td align='center' colspan='2'><i><strong>Vous pouvez à présent confirmer votre préhinscription :</strong></I></td>
                </tr>
                <tr>
                    <td align='right'><br/><br/><br/>Votre numéro de client :</td>
                    <td align='left'><br/><br/><br/><input type='text' name='NumCl' value=$num /></td>
                </tr>
                <tr>
                    <td align='right'>Votre Votre adresse E-mail* :</td>
                    <td align='left'><input type='text' name='mail' value='Votre e-mail ici'></td>
                </tr>
            </table>
            <br/><br/>
            ";
            //Requete
            $sql="SELECT * FROM Circuit";
            // Exécution de la requête
            $reqC = mysql_query($sql) or die ("erreur lors de l'execution de la requete.");
     
            while($ligne=mysql_fetch_array($reqC))
            {
            ?>
            <table  width="100%" border="1" cellspacing="0" bordercolor="black" cellpadding="0">
                <tr>
                    <td align="center"><input type="checkbox" name="<?php echo $ligne['reference']; ?>"/></td>
                    <td align="center" ><img src="images/<?php echo $ligne['photo']; ?>"/></td>
                    <td ><b><?php echo $ligne['reference']; ?></b></td>
                    <td width="50%" align="center"><h2><?php echo $ligne['designation']; ?></h2><br/>
                    <?php echo $ligne['résumé']; ?></td>
                    <td><br><?php echo $ligne['prix']; ?></br></td>
                </tr>
            </table>
            <?php
            }
            echo "<table  width='100%' border='1' cellspacing='0' bordercolor='black' cellpadding='0'>
                <tr>
                    <td align='center'><input type='submit' value='Se pré-inscrire' /><input type='reset' value='Annuler' /></td>                
                </tr>
            </table>
            </form>";
    [...]
    Ce que je voudrais faire, maintenant, c'est qu'en cliquant sur le bouton "Se pré-inscrire" j'insère dans la BdD le numéro du client, son e-mail, plus la référence du produit qui était à la même ligne que la checkbox précédemment cliquée.


    Voilà le code me permettant d'inscrire les informations voulues :
    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
     
    <?php
    session_start();
     
    if(!isset($_SESSION['NumCl'])) {
        echo "<table>
                <tr>
                    <td align='center' border='1' cellspacing='0' bordercolor='black' cellpadding='0'>Vous n\'êtes pas autorisé à acceder à cette zone</td>
                </tr>
            </table>";
        include('ficheconnection.htm');
        exit;
    }
        // Affectation des valeurs saisies dans des variables
            $num=$_POST['NumCl'];
            $mail=$_POST['mail'];
            $refcirc=$_POST['circuit'];
     
                // Connexion au serveur
                    $db=mysql_connect("localhost","root","gsi") or die("erreur de connexion".mysql_error());
     
                // Ouverture de la base de donnée
                    mysql_select_db("wild&free",$db) or die("erreur de connexion à la base wild&free");
     
                // Requête d'insertion des valeurs dans la table preinscription
                    $reqP="INSERT INTO Preinscription(numero, mail, circuit) VALUES($num, $mail, $refcirc)";
     
                // Exécution de la requête
                    $sql=mysql_query($reqP)or die("erreur".mysql_error());
                    echo "Vous avez été préinscrit avec les identifiants suivants :
                    <br/><br/>
                    Numéro : $num<br/>
                    Adresse Mail : $mail<br/>
                    Circuit choisi : $refcirc";
     
                // Fermeture de la connexion à MySql
                    mysql_close();
    ?>
    Voilà. Merci d'avance !

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Le problème est que le name="" de ta checkbox est dynamique. Tu ne peux donc pas le vérifier !

    Je te conseillerais d'écrire plutot ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="checkbox" name="maChBox[]" value="<?php echo $ligne['reference']; ?>"/>

    et pour vérifier, tu peux utiliser un foreach() si on peut cocher plusieurs checkbox (normalement oui vu que c'est le principe des checkbox ^^)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach( $_POST["maChBox"] AS $value ) {
        echo $value." - "; // affichera le $ligne['reference'] de chaque checkbox cochée
    }

  3. #3
    Membre du Club Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 66
    Points
    66
    Par défaut
    Yeah !
    Un peu de traficotage et ça marche !
    Merci a toi darkstar123456.

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //ligne dynamique pour la création des checkbox
    <td align="center"><input type="checkbox" name="checkbox[]" value="<?php echo $ligne['reference']; ?>"/></td>
     
    //affichage des valeurs des checkbox cochées
    echo "Cochées : ";
                    foreach( $_POST["checkbox"] AS $value ) 
                    {
                        echo $value." - "; // affichera le $ligne['reference'] de chaque checkbox cochée
                    }
    Voili voilà merci encore !

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

Discussions similaires

  1. [MySQL] Récupération des valeurs d'une checkbox
    Par atchoum17 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/07/2011, 11h03
  2. [MySQL] Récupération des valeurs des checkbox
    Par Boris56 dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 02/03/2010, 17h37
  3. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 20h31
  4. Réponses: 5
    Dernier message: 03/05/2006, 10h27
  5. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58

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