aloulou650
Messages postés6Date d'inscriptionmercredi 21 février 2007StatutMembreDernière intervention25 mai 2008
-
25 mai 2008 à 04:34
aloulou650
Messages postés6Date d'inscriptionmercredi 21 février 2007StatutMembreDernière intervention25 mai 2008
-
25 mai 2008 à 17:37
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" >
----
Vunérabilité |
Menace |
Contre Mesure |
Priorité |
<tfoot>
----
Ajouter une ligne |
</tfoot>
----
,
,
,
,
Supp,
</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){
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>".$nb." enregistrements ont été faits dans la base !</HTML>";
?>
il me donne " 1 enregistrements ont été faits dans la base !
Merci
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 25 mai 2008 à 10:38
Bonjour,
Tout d'abord, ceci est invalide :
Si un élément utilise les 2 attributs 'id' et 'name', ceux-ci doivent avoir la même valeur, soit :
Ensuite, pour récupérer un tableau, les attributs doivent avoir une autre valeur :
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
Et si tu veux être certain de la synchronisation des colonnes d'une ligne,
il faut ajouter un indice :
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></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];
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
Table of Contents
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 mai 2008 à 12:42
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
aloulou650
Messages postés6Date d'inscriptionmercredi 21 février 2007StatutMembreDernière intervention25 mai 2008 25 mai 2008 à 17:37
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></td>
aprés:
<td></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