Tableau dynamique php
Résolu
Bonjour,
J'aimerais savoir s'il est possible de créer un tableau dynamique en php pour lequel chaque ligne est un
input type="text"
Le truc c qu'il faut nommer chaque case differemment, et il accepte pas la syntaxe avec les variables phpdu genre
name=$tab[$i]
Si je fais
name=case1
A la fin de ma boucle je ne récupere que la dernière ligne créer, les autres ont été écrasé apres chaque incrémentation, normal vu que le nom est le même.
Enfin bref je voudrais savoir s'il est possible de faire ca en php, j'aimerais eviter le js si possible...
Merci
J'aimerais savoir s'il est possible de créer un tableau dynamique en php pour lequel chaque ligne est un
input type="text"
Le truc c qu'il faut nommer chaque case differemment, et il accepte pas la syntaxe avec les variables phpdu genre
name=$tab[$i]
Si je fais
name=case1
A la fin de ma boucle je ne récupere que la dernière ligne créer, les autres ont été écrasé apres chaque incrémentation, normal vu que le nom est le même.
Enfin bref je voudrais savoir s'il est possible de faire ca en php, j'aimerais eviter le js si possible...
Merci
Configuration: Windows 2000 Firefox 3.0.5
13 réponses
-
Yep ca marche!
Merci encore -
$req="INSERT INTO $table (champs1) VALUES ('".$var[0][$i]."')";
ensuite pour un INSERT il me semble qu'il faut préciser tous les champs de ta table et les valeurs a y inserer -
Mon tableau var correspondait au nom des input qui constituait le tableau. La taille du tableau dépend de la saisie que l'utilisateur effectue precedemment.
Pour remedier à ce problème j'ai fait différement. Voila ma solution :
while ($i<$diff){
echo "<tr>";
echo "<td>".$datedfr[$i]."</td>";
echo "<td><input type='text' name='ptidej".$i."'></td>";
echo "<td><input type='text' name='midsoir".$i."'></td>";
echo "<td><input type='text' name='gouter".$i."'></td>";
echo "<td><input type='text' name='nuitee".$i."'></td>";
echo "</tr>";
$i++;
}
Ensuite pour recup les données saisie on fait:
while ($i<$diff){
$var[0][$i]= $_POST['ptidej'.$i].'<br>';
$var[1][$i]= $_POST['midsoir'.$i].'<br>';
$var[2][$i]= $_POST['gouter'.$i].'<br>';
$var[3][$i]= $_POST['nuitee'.$i].'<br>';
$i++;
}
Par contre j'ai une question, c'est tu s'il est possible d'inserer des données dans ma table Mysql à partir d'un tableau à deux dimension, par exemple
$req="INSERT INTO $table (champs1) VALUES ($var[0][$i])";
Moi ca ne marche pas, ya pas grand chose sur le net a propos de ca.
Merci -
sizeof($var) me renvoie 0
donnes moi un peu le code d'initialisation du tableau $var
count($tot)
count c'est pareil que sizeof et que viens faire ce $tot
sizeof renvoie le nombre d'éléments de l'array $var -
Salut,
Alors pr ta proposition sizeof($var) me renvoie 0, et si je remplace pr un count($tot) qui représente le nombre de ligne du tableau les $_POST n'ont tjs rien, la misère koi -_-
Merci qd mm -
ne pas confondre un script php qui s'execute a chaque appel au serveur et un logiciel qui tourne sur ton pc lui il garde les valeurs alors que le script php ne "s'en souvient plus" entre chaque appel
donc dans ta page formulaire qd tu creer tes <imput dans la bocle while je suppose que tu utilises un array $var initialisé dans cette page
il faut donc que dans le script php qui reçoit tu ait ce même $var au début du script et ensuite:
for($i=0;$i<sizeof($var);$i++){ echo $_POST[$var[$i][0]]."<br>"; echo $_POST[$var[$i][2]]."<br>"; echo $_POST[$var[$i][2]]."<br>"; echo $_POST[$var[$i][3]]."<br>"; } -
En fait le $_POST prend pas mes variables, comment faire pr les récup?
-
Recitf
Plus compliqué que je pensais, impossible de réutiliser mon tableau, je trouve pas pk.
Voila mon code :
// Ma boucle
while ($j<=$diff){
echo '<tr><th>'.$datedfr[$j].'</th>';
echo "<td><input type='text' name=".$var[$j][0]."></td>";
echo "<td><input type='text' name=".$var[$j][1]."></td>";
echo "<td><input type='text' name=".$var[$j][2]."></td>";
echo "<td><input type='text' name=".$var[$j][3]."></td>";
$j++;
}
//Affichage des données recup
echo $var[0][0].'<br>';
echo $var[0][1].'<br>';
echo $var[0][2].'<br>';
echo $var[0][3].'<br>';
Il semble qu'elle soit vide, une idée? -
Yes bien vu c ca
Reste plus qu'a utiliser les données ca c faisaible j'crois ^^
Merci bien en tt cas -
c'est une erreur de syntaxe:
echo "<td><input type=\"text\" name=\"".$var[$j][0]."\"></td>";
si tu concatènes avec un point il faut le faire de chaque côté de la variable -
la ligne 79 est-elle : echo "<td><input type=\"text\" name="$var[$j][0].\"></td>";
essaie avec ça
echo "<td><input type='text' name='".$var[$j][0]."'></td>";
-- -
Re
Le soucis pour moi ne réside pas la en fait
Lorsque je veux appeler mes input type="text" avec une variable g une erreur de code.
Exemple :
<?php
$j=0;
while ($j<=$diff){
echo '<tr><th>'.$datedfr[$j].'</th>';
echo "<td><input type=\"text\" name="$var[$j][0].\"></td>";
echo "<td><input type=\"text\" name="$var[$j][1].\"></td>";
echo "<td><input type=\"text\" name="$var[$j][2].\"></td>";
echo "<td><input type=\"text\" name="$var[$j][3].\"></td>";
$j++;
}
?>
Il me sort cette erreur la :
Parse error: parse error, expecting `','' or `';'' in C:\wamp\www\SaisieRepasForm.php on line 79
Voila mon problème -_-
Merci -
Bonjour,
ta demande est peu claire, mais une chose est sûre c'est que chaque input text doit avoir un nom #.
regarde si cela peut solutionner ton soucis :
Cela ne vous est jamais arrivé de vous demander si il était possible de créer des variables dynamiques ?
C'est à dire des variables ayant un nom changeant au cours du script ?
Et bien c'est tout à fait possible de faire ceci en PHP.
En effet, grâce aux variables dynamiques vous allez pouvoir utiliser des noms de variables qui sont eux mêmes (les noms), variables, ce qui veut dire que vous allez utiliser des noms de variables qui sont affectés et utilisés dynamiquement dans votre script.
D'après ce que l'on vient dire, une variable dynamique serait alors une variable qui aurait comme nom la valeur d'une variable, par exemple $var.
En effet, si nous définissons la variable $hello, avec en valeur la chaîne de caractères Coucou, on aurait la chose suivante :
exemple1
<?php
$var = 'hello';
$hello = 'Coucou';
echo ${$var};
?>
Qui affichera :
Coucou