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

PHP & Base de données Discussion :

Envoyer les valeur de toutes les colonnes dans un formulaire


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Envoyer les valeur de toutes les colonnes dans un formulaire
    Bonjour a tous,
    J'ai un formulaire qui me remonte une série d'activitées auquel un utilisateur peut s'inscrire.

    La prise en compte de l'inscription se fait avec le champ nombre de participant (si rien alors pas d'inscription)

    Voici le tableau en question :

    Nom : Capture.PNG
Affichages : 98
Taille : 20,8 Ko


    Mon soucis c'est comment récupérer les valeur des champs du tableau pour les mettre dans ma requete sql ?
    Voici le code du dit tableau mais j'avoue ne pas savoir si je doit utiliser un array ou récupérer via le POST ? !

    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
    $req =$connexion->query("
    	SELECT *
    	FROM TR_PROGRAMMER_ACTIVITE PROG, T_INTERVENANT I, T_ACTIVITE A, T_CALENDRIER_ACTIVITE C, T_VILLE V
    	WHERE PROG.INTERVENANT_ID=I.INTERVENANT_ID
    	AND PROG.ACTIVITE_ID=A.ACTIVITE_ID
    	AND PROG.CALENDRIER_ID=C.CALENDRIER_ID
    	AND PROG.VILLE_ID=V.VILLE_ID
    ");
    $req->setFetchMode(PDO::FETCH_OBJ);
    echo '<tr>';
    echo '<th class=sqls width="5%"><b><u>Nombre de participant</u></b></th>';
    echo '<th class=sqls width="20%"><b><u>Nom des participants</u></b></th>';
    echo '<th class=sqls width="20%"><b><u>Nom de l\'activité</u></b></th>';
    echo '<th class=sqls width="15%"><b><u>Intervenant</u></b></th>';
    echo '<th class=sqls width="15%"><b><u>Ville</u></b></th>';
    echo '<th class=sqls width="20%"><b><u>Date et heure</u></b></th>';
    echo '<th class=sqls width="20%"><b><u>Ajouter</u></b></th>';
    echo '</tr>';
    while( $Act = $req->fetch() ){
    	echo "<TR>";
    	echo '<input type="hidden"  name="ligne_resa[]" value="'.$Act->ACTIVITE_ID.'">';
    	echo '<TD><INPUT type="text" name="ligne_resa[]"></TD>';
    	echo '<TD><TEXTAREA  name="ligne_resa[]" rows=4 cols=30></TEXTAREA></TD>';
    	echo '<TD>' . $Act->ACTIVITE_NOM . '</TD>';
    	echo '<TD> par ' . $Act->INTERVENANT_STRUCTURE . ' ' . $Act->INTERVENANT_NOM . ' ' . $Act->INTERVENANT_PRENOM . '</TD>';
    	echo '<TD> à ' . $Act->VILLE_NOM . '</TD>';
    	echo '<TD> le ' . $Act->CALENDRIER_DATE .' à ' .$Act->CALENDRIER_DATE . '</TD><br /><br />';
    }
    Merci pour votre éclairage

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    si je doit utiliser un array ou récupérer via le POST
    $_POST étant un array, ton problème est résolu

    Pour commencer ton tableau HTML est mal fait : il ne peut pas contenir de <br/> et il manque le </tr> et tu as nommé tous tes champs de la même façon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    while( $Act = $req->fetch() ){
            $id = $Act->ACTIVITE_ID;
    	echo '<tr>
                       <td><input type="hidden"  name="activite[]" value="'.$Act->ACTIVITE_ID.'"><input type="text" name="nbre_participants[]"></td>
                       <td><textarea name="nom_participants[]" rows="4" cols="30"></textarea></td>
                       <td>' . $Act->ACTIVITE_NOM . '</td>
                       <td> par ' . $Act->INTERVENANT_STRUCTURE . ' ' . $Act->INTERVENANT_NOM . ' ' . $Act->INTERVENANT_PRENOM . '</td>
                       <td> à ' . $Act->VILLE_NOM . '</td>
                       <td> le ' . $Act->CALENDRIER_DATE .' à ' .$Act->CALENDRIER_DATE . '</td>
                    </tr>';
    }
    Pour l'insertion tu as seulement à parcourir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($_POST['ligne_resa'] as $ligne=>$activite_id) {
           $nbre_participants = $_POST['nbre_participants'][$ligne];
           $nom_participants = $_POST['nom_participants'][$ligne];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse.

    J'ai tester avec ton code mais cela ne fonctionne pas.

    Je vois ton for each qui fait référence à ligne_resa mais je ne voit pas cette référence dans les différents champ ? c'est normal ?
    Ensuite tu met
    as $ligne=>$activite_id

    à la suite du for each mais la variable qui récupère l'id est

    $id = $Act->ACTIVITE_ID;

    Y vois tu des erreurs ou c'est mon ignorance qui joue encore ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Effectivement, j'ai changé de nom en cours de route, ce n'est pas "ligne_resa" mais "activite".
    Pour $ligne=>$activite_id, ce sont les variable qui vont être données par foreach, elles ont donc le nom que l'on veut.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai fait les corrections mais les valeurs ne me remonte pas.
    voici le code après correction :

    Insert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($_POST['activite'] as $ligne=>$activite_id){
        $nbre_participants = $_POST['nbre_participants'][$ligne];
        $nom_participants = $_POST['nom_participants'][$ligne];
    }
    Tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    while( $Act = $req->fetch() ){
        $activite_id = $Act->ACTIVITE_ID;
        echo '<tr>
            <td><input name="nbre_participants[]" id="spinner" size="2"></td>
            <td><textarea name="nom_participants[]" rows="4" cols="30"></textarea></td>
            <td>' . $Act->ACTIVITE_NOM . '</td>
            <td> par ' . $Act->INTERVENANT_STRUCTURE . ' ' . $Act->INTERVENANT_NOM . ' ' . $Act->INTERVENANT_PRENOM . '</td>
            <td> à ' . $Act->VILLE_NOM . '</td>
            <td> le ' . $Act->CALENDRIER_DATE .' à ' .$Act->CALENDRIER_DATE . '</td>
            </tr>';
    }
    Petit soucis supplémentaire, j'ai mis un selectionneur de chiffre sur la premiere colonne avec un jquery spinner, mais celui-ci ne s'affiche que sur la premiere ligne et pas les suivantes. Une idée?

    Merci

Discussions similaires

  1. Recuperer toutes les valeurs differentes d'une colonne
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/03/2013, 13h48
  2. Réponses: 8
    Dernier message: 04/04/2011, 10h40
  3. Réponses: 5
    Dernier message: 27/08/2008, 15h29
  4. Réponses: 2
    Dernier message: 24/04/2008, 13h52
  5. Récuperer les valeurs de toutes les colonnes
    Par wishmastah dans le forum Access
    Réponses: 1
    Dernier message: 10/03/2006, 11h19

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