|
|
|
|
Bonsoir voilà, j'ai voulu récuperer le contenu des champs textes dynamiques dans un formuliare puis l'inserer dans la base de donnees mysql ;
selon le besoin je clique sur le bouton ajouter et un champ de texte s'ajoute ,le probleme c que je veux recuperer le contenu des champs ajoutés puis l'inserer dans une table mysql;
voici le code si dessous et merci bien j'ai besoin de votre aide:
<button onClick="javascript:addSelect();" type="button">Ajouter Patente </button>
<!-- Création d'une liste modèle, qui ne sera pas visible -->
<div id="divCible"> </strong><strong><strong>Patente1</s
trong> <strong> :</stron
g>
<input type=text size=20 id="select_patente" name="patente">
<strong> Adres
se1 :</strong>
<textarea id="select_adresse" name="adresee">
</div>
<?php
echo "<script type=\"text/javascript\">\n";
echo " var i=0;
function addSelect()
{
i++;
// On récupère l'endroit où devra être ajouté la liste
var divCible = document.getElementById(\"divCible\");
// On récupère la liste modèle
var selModele = document.getElementById(\"select_patente\");
var selModele2 = document.getElementById(\"select_adresse\");
// On la clone dans une nouvelle variable
var nvxSel = selModele.cloneNode(true);
var nvxSel2 = selModele2.cloneNode(true);
// (pour la présentation, on crée un retour à la ligne)
var br = document.createElement(\"br\");
// On adapte les attributs de la nouvelle liste : nom, id et affichage
nvxSel.name = \"patente\" + i;
nvxSel.id = \"patente\" + i;
nvxSel.style.display = \"inline\";
nvxSel2.name = \"adresse\" + i;
nvxSel2.id = \"adresse\" + i;
nvxSel2.style.display = \"inline\";
// On ajoute tout ça à l'emplacement voulu
Ajouter();
nvxSel.value='';
divCible.appendChild(nvxSel);
Ajouter2();
nvxSel2.value='';
divCible.appendChild(nvxSel2);
divCible.appendChild(br);
var nlignes = 1;
function Ajouter(){
nlignes++;
divCible.insertAdjacentHTML('BeforeEnd','<str
ong> <br>Patente '+nlignes+' :</strong>')
return nlignes;
};
function Ajouter2(){
divCible.insertAdjacentHTML('BeforeEnd','&nb
sp; &
nbsp;<strong>Adresse' +nlignes+' :</strong>')
};
echo "</script>\n";
exit();
?>
Configuration: Windows XP Internet Explorer 6.0
Salut,
Configuration: Windows XP Firefox 2.0.0.6 |
Je vous remercie Alain42 de vous voir interessé à mon prob,pourtant
Configuration: Windows XP Internet Explorer 6.0 |
J'ai repris ton code, il ne marche pas chez moi, il y avait pas mal d'erreurs, manque de point virgules etc....
<html>
<head>
<script language="javascript" type="text/javascript">
var i=0;
function addSelect(){
i++;
// On récupère l'endroit où devra être ajouté la liste
var divCible = document.getElementById("divCible");
// On récupère la liste modèle
var selModele = document.getElementById("select_patente");
var selModele2 = document.getElementById("select_adresse");
// On la clone dans une nouvelle variable
var nvxSel = selModele.cloneNode(true);
var nvxSel2 = selModele2.cloneNode(true);
// (pour la présentation, on crée un retour à la ligne)
var br = document.createElement("<br>");
// On adapte les attributs de la nouvelle liste : nom, id et affichage
nvxSel.name = "patente"+i;
nvxSel.id = "patente"+i;
nvxSel.style.display = "inline";
nvxSel2.name = "adresse"+i;
nvxSel2.id = "adresse"+i;
nvxSel2.style.display = "inline";
// On ajoute tout ça à l'emplacement voulu
Ajouter();
nvxSel.value='';
divCible.appendChild(nvxSel);
Ajouter2();
nvxSel2.value='';
divCible.appendChild(nvxSel2);
divCible.appendChild(br);
}
var nlignes = 1;
function Ajouter(){
nlignes++;
divCible.insertAdjacentHTML('BeforeEnd','<strong> <br>Patente'+nlignes+' :</strong>');
/*divCible.innerHTML='<strong> <br>Patente'+nlignes+' :</strong>';*/
return nlignes;
}
function Ajouter2(){
divCible.insertAdjacentHTML('BeforeEnd',' <strong>Adresse'+nlignes+':</strong>');
/*divCible.innerHTML=' <strong>Adresse'+nlignes+':</strong>';*/
}
</script>
</head>
<body>
<form name="form1" method="post" action="traitement.php">
<button onClick="javascript:addSelect();" type="button">Ajouter Patente </button>
<!-- Création d'une liste modèle, qui ne sera pas visible -->
<div id="divCible"> <strong>Patente1:</strong>
<input type="text" size="20" id="select_patente" name="patente">
<strong> Adresse1 :</strong>
<textarea id="select_adresse" name="adresse"></textarea>
</div>
</form>
</body>
</html>
Configuration: Windows XP Firefox 2.0.0.6 |
Oui ca je le sais,ca a marché aussi chez moi avec javascript ainsi qu'avec php;
Configuration: Windows XP Internet Explorer 6.0 |
Pour répondre à ta question:
<?php
// le formulaire poste les valeurs de tous les champs dans un array $_POST avec comme cle le nom du champ
$array_patente = array();
$array_adresse = array();
foreach($_POST as $cle=>$value){
//on recupere les valeurs des champs qui commencent par "patente" et on les stoke dans un array
if(substr($cle,0,7)=="patente"){
$array_patente[]=$value;
}
//on recupere les valeurs des champs qui commencent par "adresse" et on les stoke dans un array
if(substr($cle,0,7)=="adresse"){
$array_adresse[]=$value;
}
}
//print_r($_POST);
//print_r($array_patente);
//print_r($array_adresse);
$cnx=mysql_connect("host","login","password");// la tu mets tes codes
$db=mysql_select_db("base",$cnx);// le nom de ta base
$nb=0;
for ($i=0,$i<sizeof($array_patente),$i++){
$req="INSERT INTO ta_table (patente,adresse) VALUES('".$array_patente[$i]."','".$array_adresse[$i].")";
$res=mysql_query($req);
$nb++;
}
echo "<HTML><BODY>".$nb." enregistrements ont été faits dans la base !</HTML></BODY>";
?>Configuration: Windows XP Firefox 2.0.0.6 |
Excusez moi,je reprends ,je suis parvenu à recuperer le contenu dans les deus tableaux $array_patente et $array_adresee
Configuration: Windows XP Internet Explorer 6.0 |
Essaye en mettant un echo sur la requette:
$cnx=mysql_connect("host","login","password") or die (mysql_error());// la tu mets tes codes
$db=mysql_select_db("base",$cnx) or die (mysql_error());// le nom de ta base
$nb=0;
for ($i=0,$i<sizeof($array_patente),$i++){
$req="INSERT INTO ta_table (patente,adresse) VALUES('".$array_patente[$i]."','".$array_adresse[$i].")";
echo "<br>".$req;
$res=mysql_query($req) or die (mysql_error());
$nb++;
}
Configuration: Windows XP Firefox 2.0.0.6 |
Merci beaucoup alain42,le probleme est resolu ,c' etait comme je le vous ai mentionné,sur la syntaxe de la requete il fallait faire
Configuration: Windows XP Internet Explorer 6.0 |