Récupération de données via $_POST
Bonsoir
je suis débutante en php.:oops:
Quelqu'un d'entre vous peut surement m'aider.
je créé un formulaire de saisie d'heures pour une liste d'activités ($donnees).
Mais je n'arrive pas à garder la valeur saisie dans le champs heure
Comble de tout, je veux faire une somme des heures saisies
merci d'avance
ci-dessous mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
for ($i=0;$i<count($donnees);$i++)
{
$concat="A".$donnees[$i]['ste_code'].$PF.$donnees[$i]['oi_pf'].$donnees[$i]['oi_ae']."x"."01";
$array1[$i]=$_POST['heure'.$i];
?>
<tr>
<td id="ligne"><?php echo $donnees[$i]['oi_lib'];?></td>
<td id="ordre"><?php echo $concat;?></td>
<form method="post" action="#"/>
<td><input type="text" name="heure[$i]" id="nbh" value="<?php echo $_POST['heure'.$i]; if(empty($_POST['heure'.$i])){echo "vide";$array1[$i]=$_POST['heure'.$i];}?>"/>
</tr>
<?php
}
?>
</table>
</div>
<form method="post" action="#"/>
<br/>
<input type="submit" name="valider" value="valider"</>
<?php
if (isset($_POST['valider'])){
for ($i=0;$i<count($donnees);$i++)
{
$sstot=$array1[$i]+$sstot;
}
echo $sstot; |
Le post ne fonctionne toujours
Même souci :(
quand je clique sur valider, les cellules sont remises à blancs, le nombre saisi ne reste pas affiché à l'écran et le total ne se fait pas.
j'ai bien appliqué vos consignes
ci-dessous code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| $sstot=0;
$array1=array();
for ($i=0;$i<count($donnees);$i++)
{
$concat="A".$donnees[$i]['ste_code'].$PF.$donnees[$i]['oi_pf'].$donnees[$i]['oi_ae']."x"."01";
$array1[$i]=$_POST['heure'.$i];
?>
<tr>
<td id="ligne"><?php echo $donnees[$i]['oi_lib'];?></td>
<td id="ordre"><?php echo $concat;?></td>
<form method="post" action="#"/>
<td><input type="text" name="heure[$i]" id="nbh" value="<?php if(empty($_POST['heure'][$i])){echo "vide";$array1[$i]=$_POST['heure'][$i];}else {echo htmlspecialchars($_POST['heure'][$i]);}?>"/></input>
</form>
</tr>
<?php
}
?>
</table>
</div>
<form method="post" action="#"/>
<br/>
<input type="submit" name="valider" value="valider"</>
<?php
if (isset($_POST['valider'])){
for ($i=0;$i<count($donnees);$i++)
{
$sstot=$array1[$i]+$sstot;
}
echo $sstot;
print_r($array1);
} |
on se rapproche du résultat
j'ai un peu progressé dans la résolution du problème
Il ne manque pas grand chose, seulement un expert qui me donnera la solution finale.
comme je le disais dans le message prédédent, l'erreur se situe dans le input.
notamment dans le name. Si je met "heure" dans name, le $_post fonctionne mais le nombre saisi se met automatiquement sur la première ligne
par contre le tableau $array1 est alimenté et la somme se calcule.
quelle est la syntaxe exacte du name pour que le nombre saisi se mette bien sur la bonne ligne (pointeur $i)
merci d'avance pour celui qui me sortira de ce pétrain.;)
<td><input type="text" name="heure" id="nbh" value="<?php echo $_POST['heure'][$i]; if(empty($_POST['heure'][$i])){echo "vide";$array1[$i]=$_POST['heure'][$i];}?>"/>