Enregistrer un tableau javascript

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.
Configuration: Windows Vista
Firefox 3.0.1

5 réponses

  1. 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
    1. 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
      1. 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
        1. 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