begin process at 2012 05 28 23:33:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

champs de saisie dans un tableaux dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

champs de saisie dans un tableaux dynamique

dimanche 25 mai 2008 à 04:34:57 | champs de saisie dans un tableaux dynamique

aloulou650

Bonjour,,
J'ai un tableaux dynamique qui contient des champs de saisie , le problèm c'est que lors de l'insertion dans la base il y a que la derniere ligne qui s'enregistre voila le code :
1.le code de creation du tableau
<form name="enr" method="post" action="enreg_vun.php" >
    <table class="dTable">
        <thead>
            <tr>
               
      <th>Vunérabilité</th>
               
      <th>Menace</th>

               
      <th>Contre Mesure</th>
               
      <th>Priorité</th>
                </tr>
        </thead>
        <tfoot>
            <tr>

                <th colspan="5"><a href="#" onclick="addLigne(this); return false;">Ajouter une ligne</a></th>
            </tr>
        </tfoot>
       
        <tbody>
           
            <tr>
                <td><input type="text" id="ch1" name="champ1" /></td>
                <td><input type="text" id="ch2" name="champ2" /></td>
                <td><input type="text" id="ch3" name="champ3" /></td>
                 <td><input type="text" id="ch4" name="champ4" /></td>
                <td><a href="#" onclick="delLigne(this); return false;">Supp</a></td>
            </tr>
        </tbody>
    </table>
    <input name="enre" type="submit" value="Enregistrer"/>
</form>
-------------------------------------------------------------
2.code de l'enregistrement dans la base "enreg_vun.php"
<?php
$ch1 = array();
$ch2 = array();
$ch3 = array();
$ch4 = array();
foreach($_POST as $cle=>$value){
   
    if(substr($cle,0,7)=="champ1"){
        $ch1[]=$value;
    }
   
    if(substr($cle,0,7)=="champ2"){
        $ch2[]=$value;
    }
    if(substr($cle,0,7)=="champ3"){
        $ch3[]=$value;
    }
   
    if(substr($cle,0,7)=="champ4"){
        $ch4[]=$value;
    }
}


include("connection.php");
$nb=0;
for ($i=0;$i<sizeof($ch1);$i++)
{
$req="INSERT INTO vunerabi (champ1,champ2,champ3,champ4) VALUES('".$ch1[$i]."','".$ch2[$i]."','".$ch3[$i]."','".$ch4[$i]."');";
$res=mysql_query($req);
$nb++;
}
echo "<HTML><BODY>".$nb." enregistrements ont été faits dans la base !</HTML></BODY>";
?>
il me donne " 1 enregistrements ont été faits dans la base !
Merci
dimanche 25 mai 2008 à 10:38:22 | Re : champs de saisie dans un tableaux dynamique

jeca

Bonjour,

Tout d'abord, ceci est invalide :
<input type="text" id="ch1" name="champ1" />
Si un élément utilise les 2 attributs 'id' et 'name', ceux-ci doivent avoir la même valeur, soit :
<input type="text" id="champ1" name="champ1" />
Ensuite, pour récupérer un tableau, les attributs doivent avoir une autre valeur :
<tr>
<td><input type="text" id="champ1[]" name="champ1[]" /></td>
<td><input type="text" id="champ2[]" name="champ2[]" /></td>
<td><input type="text" id="champ3[]" name="champ3[]" /></td>
<td><input type="text" id="champ4[]" name="champ4[]" /></td>
</tr>

Et si tu veux être certain de la synchronisation des colonnes d'une ligne,
il faut ajouter un indice :
<tr>
<td><input type="text" id="champ1[]" name="champ1[0]" /></td>
<td><input type="text" id="champ2[]" name="champ2[0]" /></td>
<td><input type="text" id="champ3[]" name="champ3[0]" /></td>
<td><input type="text" id="champ4[]" name="champ4[0]" /></td>
</tr>
<tr>
<td><input type="text" id="champ1[]" name="champ1[1]" /></td>
<td><input type="text" id="champ2[]" name="champ2[1]" /></td>
<td><input type="text" id="champ3[]" name="champ3[1]" /></td>
<td><input type="text" id="champ4[]" name="champ4[1]" /></td>

Et pour récupérer :
foreach ($_POST['champ1'] as $cle => $valeur)
{
  $champ1 = $valeur;
  $champ2 = $_POST['champ2'][$cle];
  $champ3 = $_POST['champ3'][$cle];
  $champ4 = $_POST['champ4'][$cle];

  $req = 'INSERT INTO vunerabi (champ1,champ2,champ3,champ4)
          VALUES(\'' . $champ1 . '\',
                 \'' . $champ2 . '\',
                 \'' . $champ3 . '\',
                 \'' . $champ4 . '\')';
  $res=mysql_query($req);
}
</tr>
dimanche 25 mai 2008 à 11:04:48 | Re : champs de saisie dans un tableaux dynamique

malalam

Administrateur CodeS-SourceS
Hello,

"Si un élément utilise les 2 attributs 'id' et 'name', ceux-ci doivent avoir la même valeur"

heu...non?
dimanche 25 mai 2008 à 12:18:54 | Re : champs de saisie dans un tableaux dynamique

jeca

Les éléments <input> indiqués ci-dessus sont au format xhtml. Donc :
http://www.w3.org/WAI/GL/2000/05/wcag-techs.html - paragraphe xhtml - alinéa 6

Extrait concernant les attributs 'name' et 'id' :
Since many existing HTML user agents don't support the use of ID-type attributes in this way, identical values should be supplied for both of these attributes to ensure maximum forward and backward compatibility--for example
<a id="toc" name="toc">Table of Contents</a>
dimanche 25 mai 2008 à 12:42:57 | Re : champs de saisie dans un tableaux dynamique

malalam

Administrateur CodeS-SourceS
Oui, "should be", cela veut dire "devrait"; en aucun cas il n'est indiqué que c'est invalide; c'est juste une question de facilité, qui n'a pour l'instant aucun rôle avec les navigateurs actuels. Sans compter qu'en DOM, étant 2 attributs différents, ils s'utilisent aussi différemment. Et pour ajouter à ça : la valeur de "name" n'est pas forcément unique (et d'ailleurs dans le cas de boutons radio groupés, ce n'est jamais le cas), alors qu'un attribut "id", lui, doit avoir une valeur unique. Ce n'est donc pas applicable.
Encore une fois, c'est juste une aide que propose là le w3c, en aucun cas une norme.
dimanche 25 mai 2008 à 17:37:28 | Re : champs de saisie dans un tableaux dynamique

aloulou650

salut merci pour vous
mais jé encore le meme probléme il ajoute dans la base tt se passe bien mais il enregistre
que la derniere ligne
jé changer les id des inputs :

avant : 
            <td><input type="text" id="ch1" name="champ1" /></td>
aprés:
            <td><input type="text" id="ch1[]" name="champ1" /></td>
              
              mais je pense que le problem est dans la boucle

include("connection.php");
$nb=0;
for ($i=0;$i<sizeof($ch1);$i++)
{
$req="INSERT INTO vunerabi (champ1,champ2,champ3,champ4) VALUES('".$ch1[$i]."','".$ch2[$i]."','".$ch3[$i]."','".$ch4[$i]."');";
$res=mysql_query($req);
$nb++;
}
c urgent est important merci


Cette discussion est classée dans : base, array, value, cle, if


Répondre à ce message

Sujets en rapport avec ce message

Tableau array etc... [ par Cestmoi ] J'affiche des données de la facon suivante :foreach($server->rules as $key => $value) { echo $key." = ".$value.""; } Comment faire :s ! [ par Ondine86 ] Bonjour les gars :)Voila d'abord le code, ensuite j'explique le delire :...$seek=mysql_query("SELECT * FROM `test` WHERE `num` = 1");$obj=mysql_fetch_ Foreach (tableau multi-dimensionnels) [ par nougitch ] Salut,Je cherche à insérer dans ma table les valeurs de mon tableaux multi-dimensionnels en fonction de mes deux index. Seulement, je ne sais pas comm Lien cliquable base de données [ par flopad ] Bonjour,j'ai une base de données access qui contient l'annuaire interne de ma société avec nom, tel, mail etc....J'ai une page qui permet à l'utilisat Question pour fusionner deux array en 1 [TITRE CORRIGE...] [ par destiny ] Hello all :)Une petite question sur les arrays, je voudrais scinder 2 array en 1! pour le serializer par la suite -> mon code://Gere la session (inser Insertion de données d'un formulaire dans une base de données [ par Sogeekette ] Bonjour, J'ai fait un formulaire de saisie, et lorsqu'on clique sur le bouton submit "continuer", on est dirigé vers cette page : <?php $Affaire Array et objet [ par mrjulien ] Hello !Je suis en train de développer une classe et j'ai un soucis de synthaxeCode :public function result_hand(){        foreach($this->player_info a XML -> Array -> SQL [ par GMo888 ] Bonjour à tous,D'abod, un tout grand merci à la communauté de ce site pour les préciseuses informations ! :-)Après de multiple recherche, j'en arrive verification des champs avec ajax et php [ par lassad_haddaji ] salut, j'ai fais une page d'inscription qui est géré par un script ajax et fichier signin.php le probleme que lors de verification des champs sort l'e probleme de formulaire && BASE DE DONNée [ par joooooker ] salut!!je ne peux pas trouver l'erreur ou? alors...fichier inscription Inscription function


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales