Formulaire dynamique
sidilweb
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
sidilweb Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
sidilweb Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai créer un petit script qui permet de generer de nouveau champ dans un formulaire, et avec un nom different pour chaque champ, le probléme qui se ose comment faire pour afficher le resultat des champ s'ils sont tros nombreux, 100 ou voir plus
le script et le suivant:
1-le script de definition des nombre de champs :
<?php
<form method=post action=comp2.php3>
<input type=text name=com><input type=submit>
</form>
?>
2-le script de generation des champs
<?php
if(isset($_POST['com'])) $com=$_POST['com'];
else $com="";
echo'<form method=post action=comp3.php><input type=submit>';
for($i=1;$i<=$com;$i++){
echo'<input type=text name=entreprise'.$i.'>';
echo'<input type=text name=lot'.$i.'>';
}
echo'</form>';
?>
3-le script d'affichage des resultats disons affichage du resulta de 6 champs:
<?php
if(isset($_POST['entreprise'])) $entreprise=$_POST['entreprise'];
else $entreprise="";
if(isset($_POST['entreprise2'])) $entreprise2=$_POST['entreprise2'];
else $entreprise2="";
if(isset($_POST['entreprise3'])) $entreprise3=$_POST['entreprise3'];
else $entreprise3="";
if(isset($_POST['lot'])) $lot=$_POST['lot'];
else $lot="";
if(isset($_POST['lot2'])) $lot2=$_POST['lot2'];
else $lot2="";
if(isset($_POST['lot3'])) $lot3=$_POST['lot3'];
else $lot3="";
echo $entreprise;
echo $lot;
echo $entreprise2;
echo $lot2;
echo $entreprise3;
echo $lot3;
?>
mais c'est pas trés evidant pour afficher le resultat de 100 ou 200 méme voir le resultat de 300 champs, il n' y a pas une autre m"thode plus simple pour le faire?
j'ai créer un petit script qui permet de generer de nouveau champ dans un formulaire, et avec un nom different pour chaque champ, le probléme qui se ose comment faire pour afficher le resultat des champ s'ils sont tros nombreux, 100 ou voir plus
le script et le suivant:
1-le script de definition des nombre de champs :
<?php
<form method=post action=comp2.php3>
<input type=text name=com><input type=submit>
</form>
?>
2-le script de generation des champs
<?php
if(isset($_POST['com'])) $com=$_POST['com'];
else $com="";
echo'<form method=post action=comp3.php><input type=submit>';
for($i=1;$i<=$com;$i++){
echo'<input type=text name=entreprise'.$i.'>';
echo'<input type=text name=lot'.$i.'>';
}
echo'</form>';
?>
3-le script d'affichage des resultats disons affichage du resulta de 6 champs:
<?php
if(isset($_POST['entreprise'])) $entreprise=$_POST['entreprise'];
else $entreprise="";
if(isset($_POST['entreprise2'])) $entreprise2=$_POST['entreprise2'];
else $entreprise2="";
if(isset($_POST['entreprise3'])) $entreprise3=$_POST['entreprise3'];
else $entreprise3="";
if(isset($_POST['lot'])) $lot=$_POST['lot'];
else $lot="";
if(isset($_POST['lot2'])) $lot2=$_POST['lot2'];
else $lot2="";
if(isset($_POST['lot3'])) $lot3=$_POST['lot3'];
else $lot3="";
echo $entreprise;
echo $lot;
echo $entreprise2;
echo $lot2;
echo $entreprise3;
echo $lot3;
?>
mais c'est pas trés evidant pour afficher le resultat de 100 ou 200 méme voir le resultat de 300 champs, il n' y a pas une autre m"thode plus simple pour le faire?
A voir également:
- Formulaire dynamique
- Whatsapp formulaire opposition - Guide
- Tableau croisé dynamique - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
2 réponses
pour éviter de dupliquer du code, il faut le factoriser au sein d'une fonction
par exemple ici uniquement pour les lots mais on peut ajouter la même chose pour les entreprises :
par exemple ici uniquement pour les lots mais on peut ajouter la même chose pour les entreprises :
// factorisation du code function afficheLotN($num) { if ($num == 1) { $nomLot = "lot"; } else { $nomLot = "lot$num"; } $lot=""; if(isset($_POST[$nomLot])) { $lot=$_POST[$nomLot ]; } echo $lot; } // boucle pour appeler N fois la fonction for ($i=0;$i<6;$i++) { afficheLotN($i); }