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 :

récupérer les valeurs formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Par défaut récupérer les valeurs formulaire
    Bonjour,

    j'ai réalisé un formulaire où je peux ajouter des champs en cliquant sur un bouton via javascript.

    j'ai une catégorie de champ qui représente le locuteur1 et qui regroupe l'age, le sexe, ect...

    je peux ajouter automatiquement le nombre de locuteur que je souhaite en plus (locuteur2, locuteur3 , etc.)

    mon problème se situe au niveau de la récupération des données.

    je désire stocké ces données dans une table nommée 'locuteurs'

    en fait pour chaque locuteurs je voudrai une nouvelle ligne dans ma bdd or actuellement je n'arrive à récupérer qu'un locuteur.

    voici une partie de mon formulaire

    form.php

    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
     
    <tbody id="loc">
    				<tr>
    					<td align="center"><b><i>Informations sur les locuteurs</i></b></td>
    					<td bgcolor="#006699"></td>
    				</tr>
    				<tr>
    					<td><b><i>Locuteur 1</i></b></td>
    					<td bgcolor="#006699"></td>
     
    				</tr>
    				<tr>
    					<td>Identifiant :</td>
    					<td><input type="text" size="50" name="id"
    						onKeyUp="javascript:couleur(this);"></td>
     
    				</tr>
    				<tr>
    					<td>Age :</td>
    					<td><input type="text" size="50" name="age"
    						onKeyUp="javascript:couleur(this);" onblur="verifAge(this)"></td>
     
    				</tr>
    				<tr>
    					<td>Sexe :</td>
    					<td><input type="radio" name="sex" value="M" />Masculin <input
    						type="radio" name="sex" value="F" />Féminin</td>
     
    				</tr>
    </tbody>
    <tr>
    				<td><input value="Ajouter un locuteur" id="idBouton" type="button"
    					onclick="AddRow();" /></td>
    			</tr>
    une partie du code php qui insert les données récupéré

    insert.php

    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
     
    $NomFichierSource =addslashes($_POST["NomFichierSource"]);
     
     
    $id=""; if(!empty($_POST["id"]))
    $id=addslashes($_POST["id"]);
     
    $age=""; if(!empty($_POST["age"]))
    $age=addslashes($_POST["age"]);
     
    $sex=""; if(!empty($_POST["sex"]))
    $sex=addslashes($_POST["sex"]);
     
    $etude=""; if(!empty($_POST["etude"]))
    $etude=addslashes($_POST["etude"]);
     
    $occupation=""; if(!empty($_POST["occupation"]))
    $occupation=addslashes($_POST["occupation"]);
     
    $statut_francais=""; if(!empty($_POST["statut_francais"]))
    $statut_francais=addslashes($_POST["statut_francais"]);
     
    $app_regionale=""; if(!empty($_POST["app_regionale"]))
    $app_regionale=addslashes($_POST["app_regionale"]);
     
    $local=""; if(!empty($_POST["local"]))
    $local=addslashes($_POST["local"]);
     
    if($NomFichierSource) {
     
     
    $query2 = "INSERT INTO $table2(NomFichierSource,id,age,sex,etude,occupation,statut_francais,app_regionale,local)";
    	$query2 .= "VALUES('$NomFichierSource','$id','$age','$sex','$etude','$occupation','$statut_francais','$app_regionale','$local')";
    	$result2 = mysql_query($query2);
     }
    enfin le code javascript qui crée automatique les nouveaux locuteurs

    test.js

    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
    var num = 1;
    //AJOUT LOCUTEUR
    function AddRow(){
    	num++;
        var newRow = document.getElementById('loc').insertRow(-1);
        var newCell = newRow.insertCell(0);
       newCell.innerHTML = '<b><i>'+'Locuteur'+num+'</i></b>';
       newCell = newRow.insertCell(1);
       newCell.innerHTML = '';
     
       var newRow1 = document.getElementById('loc').insertRow(-1);
       var newCell1 = newRow1.insertCell(0);
      newCell1.innerHTML = 'Identifiant : ';
      newCell1 = newRow1.insertCell(1);
      newCell1.innerHTML = '<input type="text" size="50" name="id" onKeyUp="javascript:couleur(this);">';
     
      var newRow2 = document.getElementById('loc').insertRow(-1);
      var newCell2 = newRow2.insertCell(0);
     newCell2.innerHTML = 'Age : ';
     newCell2 = newRow2.insertCell(1);
     newCell2.innerHTML = '<input type="text" size="50" name="age" onKeyUp="javascript:couleur(this);" onblur="verifAge(this)">';
     
     var newRow3 = document.getElementById('loc').insertRow(-1);
     var newCell3 = newRow3.insertCell(0);
    newCell3.innerHTML = 'Sexe : ';
    newCell3 = newRow3.insertCell(1);
    newCell3.innerHTML = '<input type="radio" name="sex" value="M" />Masculin <input type="radio" name="sex" value="F" />Féminin';
     
     
    }

    pour résumer je n'ai pas implémenter les valeur des attributs 'name'
    et je voudrai qu'a chaque locuteur créé une nouvelle ligne puisse se créer dans ma bdd.

    merci

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    Citation Envoyé par knebhi Voir le message
    pour résumer je n'ai pas implémenter les valeur des attributs 'name'
    et je voudrai qu'a chaque locuteur créé une nouvelle ligne puisse se créer dans ma bdd.
    Pour name, utilise (par exemple) name="age[]", name="sex[]" comme ça tu auras tout dans les tableaux $_POST['age'], $_POST['sex'], etc.
    Il te suffit ensuite de parcourir ces tableaux pour ajouter les locuteurs dans la bdd.

    Bonne continuation.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Par défaut
    Citation Envoyé par T@kniX Voir le message
    Pour name, utilise (par exemple) name="age[]", name="sex[]" comme ça tu auras tout dans les tableaux $_POST['age'], $_POST['sex'], etc.
    Il te suffit ensuite de parcourir ces tableaux pour ajouter les locuteurs dans la bdd.

    Bonne continuation.
    J'ai effectué la rectification dans mon formulaire php en faisant comme tu l'indique pour tout mes champs.

    or je ne sais pas trop comment faire ma boucle pour récuperer mes valeurs du tableau; si tu peux me filer un coup de pouce je débute en php.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Par défaut
    j'ai réussi à pondre ça mais ça ne fais rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     if(isset($_POST["id"]) AND is_array($_POST["id"]))
         {
              foreach($_POST["id"] AS $valeur)
              { 
     
    	$query2 = "INSERT INTO $table2(NomFichierSource,id,age,sex,etude,occupation,statut_francais,app_regionale,local)";
    	$query2 .= "VALUES('$NomFichierSource','$id','$age','$sex','$etude','$occupation','$statut_francais','$app_regionale','$local')";
    	$result2 = mysql_query($query2);
    	}
         }

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Par défaut
    un peu d'aide s'il vous plait lol

    je galère depuis hier sur ça c'était pourtant pas le plus difficile.

    merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Par défaut
    voici la réponse à ma question après réflexion et recherche

    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
    ///recuperer locuteur dans array et insertion 
    if (!empty($_POST["id"])) {
      for ($i=0 ; $i < count($_POST["id"]) ; $i++ ) { // pour chaque "lignes"
      	$NomFichierSource = strtolower($NomFichierSource);
    	$NomFichierSource = ucfirst($NomFichierSource);
     
     
     
        $id = addslashes($_POST["id"][$i]); // récupère l'id
        $age = addslashes($_POST["age"][$i]); // l'age
        $sex = addslashes($_POST["sex"][$i]); // le sexe
        $etude = addslashes($_POST["etude"][$i]); //etude 
        $occupation = addslashes($_POST["occupation"][$i]); //occupation
        $statut_francais = addslashes($_POST["statut_francais"][$i]); //statut francais
        $app_regionale = addslashes($_POST["app_regionale"][$i]); //app regional
        $local= addslashes($_POST["local"][$i]);//local
        mysql_query("SET NAMES UTF8");
     
       $table2="locuteurs";
        // ... et génère une requête pour insérer les données
        $query2 = "INSERT INTO $table2(NomFichierSource,id,age,sex,etude,occupation,statut_francais,app_regionale,local)"; 
        $query2 .= "VALUES('$NomFichierSource','$id','$age','$sex','$etude','$occupation','$statut_francais','$app_regionale','$local')"; 
        $result2 = mysql_query($query2); 
      $message = "Le locuteur <i>".$id."</i> été ajouté!";
    	echo "<h2 align=\"center\">".$message."</h2>";
     
     
      }
    }
    il suffit de boucler avec un for le array créer dans le formulaire html.
    ensuite on récupére les valeurs et on les insére dans une bdd avec notre requete.

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

Discussions similaires

  1. [VBA-E] Récupérer les valeurs d'un formulaire Outlook
    Par ftcalvados dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2010, 17h27
  2. [PEAR][HTML_QuickForm] Impossible de récupérer les valeurs du formulaire
    Par Mainman dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/05/2007, 12h15
  3. Réponses: 2
    Dernier message: 08/01/2007, 09h01
  4. Formulaire & Confirm : Comment récupérer les valeurs en javascript ?
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/11/2006, 18h21
  5. Réponses: 11
    Dernier message: 19/06/2006, 13h51

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