Enregistrer un tableau javascript

Fermé
merwane78 - 4 août 2008 à 13:52
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 5 août 2008 à 16:31
Bonjour,


J'ai un boutton où dès que je clique dessus je fait appel à une fonction "Ajouter_une_ligne". C'est un tableau dynamique. Je clique 3 fois il y aura 3 lignes de 6 inputs text. Je clique 20 000 fois il y aura 20 000 lignes de 6 inputs text chacunes.

J'ai réussi à différencier les noms de chaque input comme ceci : input11 input 12 , 13, 14 , 15 ,16
input 21 input 22, 23,24 ,25 ,26

etc etc ...


Ma question est simple. Comment enregistrer ce tableau dans ma base de données mysql ?

Merci d'avance pour votre aide.
A voir également:

5 réponses

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
4 août 2008 à 15:04
Bjr

Bien mais tu dois nommer différemment tes inputs afin que PHP les récupère sous la forme d'un tableau de tableau ainsi le traitement sera très facile

input11 doit devenir input[0][0]
input12 doit devenir input[0][1]

etc ...

donc sous la forme input[nr de ligne][nr de champ]

Il est préférable bien que pas indispensable de commencer la numérotation des index à zéro

Ex :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test form</title>

<style>
*
{
	font-family : arial;
	font-size : 12pt;
}

body
{
	margin : 10px;
	padding : 10px;
	border : 0px;

}

</style>
</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
	<table>
		<tr>
			<td>Ligne 0</td> 
			<td><input type="text" name="input[0][0]" value="10"></td>
			<td><input type="text" name="input[0][1]" value="100"></td>
			<td><input type="text" name="input[0][2]" value="130"></td>
			<td><input type="text" name="input[0][3]" value="150"></td>
			<td><input type="text" name="input[0][4]" value="160"></td>
			<td><input type="text" name="input[0][5]" value="110"></td>	
		</tr>
		
		<tr>
			<td>Ligne 1</td> 
			<td><input type="text" name="input[1][0]" value="20"></td>
			<td><input type="text" name="input[1][1]" value="25"></td>
			<td><input type="text" name="input[1][2]" value="210"></td>
			<td><input type="text" name="input[1][3]" value="250"></td>
			<td><input type="text" name="input[1][4]" value="25"></td>
			<td><input type="text" name="input[1][5]" value="2"></td>	
		</tr>
	</table>	
	<input type="submit" onclick="Envoyer">
</form>

<?php


if (isset($_POST["input"]))
{
	echo "<br />Traitement du tableau en PHP<br />";
	$input = $_POST["input"];
	echo "Le tableau comporte : ".count($input)." lignes<br />";
	for ($i = 0; $i < count($input); $i++)
	{
		echo "Ligne ".$i."<br />";
		$ligne=$input[$i];
		for ($j = 0; $j < count($ligne); $j++)
		{
			echo "input[".$i."][".$j."]=".$ligne[$j]."<br />";
		}	
		echo "<br />";
	}
}

?>
</body>
</html>


0
Salut PhP,

En faites mon tableau est dans une fonction javascript. J'ai :

<script>

function(ajouterligne)
{

la je remplis mon tableau

}

</script

<?php

<input type="button" value="Ajouter une ligne" onclick="Ajouterligne" />

?>



Je calle un peu... =(
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
5 août 2008 à 11:45
bjr

la fonction Ajouterligne c'est toi qui l'a écrite ?

De toute façon c'est bien dans cette fonction que tu dois modifier les attributs name de tes balises input

Donne le code de ta fct ça pourrait aider ...
0
Merci PhP,


J'ai posté mon problème dans un autre site, je te donne le lien :

https://openclassrooms.com/forum/sujet/enregistrement-tableau-33175


Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
5 août 2008 à 16:31
Bjr

Remplace

elem.id = 'id'+j+i;
elem.name = 'nom'+j+i;


par

elem.id = 'input['+j-1+']['+i+']';
elem.name = 'input['+j-1+']['+i+']';


et tu auras les mêmes noms que dans mon exemple
0