Enregistrer un tableau javascript

merwane78 -  
PhP Messages postés 1774 Statut Membre -
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. PhP Messages postés 1774 Statut Membre 606
     
    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
  2. merwane78
     
    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
  3. PhP Messages postés 1774 Statut Membre 606
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. PhP Messages postés 1774 Statut Membre 606
     
    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