HTMLDynamique

Marcelinos Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   -  
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un problème qui m'étouffe et je ne sais quoi faire!!
En effet je suis en train d'apprendre le HTML ET J'AIMERAIS FAIRE ceci mais je n'y arrive pas!
J'ai un formulaire que je dois remplir et qui porte sur le PERSONNEL ENSEIGNANT d'un établissement scolaire.
Pour chaque enseignant,on a un nombre fixe de champs de saisie à remplir et de liste déroulantes à sélectionner .
Pour ce faire,j'ai regroupé toutes les informations reltives à un enseignant dans des "fieldset".
Ainsi le "legend" du premier "fieldset" contient "enseignant numero1" suivi des champsà remplir et à séléctionner, le deuxième "enseignant numero2" suivi des mêmes champsà remplir et à séléctionner, après on passe à l'enseignant numero3 etc
A la fin de la saisie, je clique sur "Valider pour envoyer les données saisies dans une base de données!

Mais mon problème est que JE NE SAIS PAS D'AVANCE LE NOMBRE D'ENSEIGNANTS QUI COMPOSENT LE PERSONNEL pour faire défiler des "fieldset"(dans ce cas on aura le même nombre de "fieldset" que d'enseignant!
Mais là encore, c'est vraimant chiant de répéter des "fieldset" jusq'à 1000 si on suppose qu'on a 1000 enseignants!

Donc,je veux gérér ceci DYNAMIQUEMENT c-a-d que JE VEUX DONC FAIRE VOIR à l' utilisateur un seul "fieldset" au départ (donc pour l'enseignant numero 1)
et donc LORSQU'ON FINIT POUR L'ENSEIGNANT NUMERO 1, on puisse cliquer sur "Enseiqnant suivant" pour faire apparaitre les mêmes champs de saisies et listes déroulantes pour l'enseignant numero 2, après on clique encore sur "Enseiqnant suivant" pour faire apparaitre les mêmes champs de saisies et listes déroulantes pour l'enseignant numero 3 et ainsi de suite jusqu'a ce qu'on arrive sur le dernier enseignant avec le dernier "fieldset"
généré pour enfin cliquer sur "Valider"

Voilà mon problème!

Merci d'avance pour votre aide et votre générosité!

Voici mon code pour le premier "fieldset" relatif à l'enseignant n°1







<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<form action="pagesuiv.php" method="post">
<table><tr>
<td>
<fieldset><legend><strong>Membre du personnel enseignant n°1</strong></legend>
<table border="0" width="5">
<tr>
<td>N° Matricule</td><td><input type="text" name="mle_enseig_1" /></td>
<td >Nom </td>
<td><input type="text" name="N_enseig_1" onKeypress="
if((event.keyCode > 32) && (event.keyCode != 39) && (event.keyCode != 45) && (event.keyCode != 180) && ((event.keyCode < 65) || (event.keyCode > 90)) && ((event.keyCode < 97) || (event.keyCode > 122)) && ((event.keyCode < 224) || (event.keyCode > 247)) && ((event.keyCode < 249) || (event.keyCode > 252))) event.returnValue = false;
if((event.which > 32) && (event.which != 39) && (event.which != 45) && (event.which != 180) && ((event.which < 65) || (event.which > 90)) && ((event.which < 97) || (event.which > 122)) && ((event.which < 224) || (event.which > 247)) && ((event.which < 249) || (event.which > 252))) return false;"
/></td>
</tr>
<tr>
<td> Prénom(s)</td>
<td><input type="text" name="P_enseig_1" onKeypress="
if((event.keyCode > 32) && (event.keyCode != 39) && (event.keyCode != 45) && (event.keyCode != 180) && ((event.keyCode < 65) || (event.keyCode > 90)) && ((event.keyCode < 97) || (event.keyCode > 122)) && ((event.keyCode < 224) || (event.keyCode > 247)) && ((event.keyCode < 249) || (event.keyCode > 252))) event.returnValue = false;
if((event.which > 32) && (event.which != 39) && (event.which != 45) && (event.which != 180) && ((event.which < 65) || (event.which > 90)) && ((event.which < 97) || (event.which > 122)) && ((event.which < 224) || (event.which > 247)) && ((event.which < 249) || (event.which > 252))) return false;"
/></td>


<td >Nationalité</td> <td align="center"><select name="nation_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de la nationalite
$requete="SELECT * FROM nationalite";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["nation_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>
</tr>
<tr>

<td >Sexe</td>
<td><select name="sexe_enseig_1">
<option></option>
<option>M</option>
<option>F</option>
</select></td>






<td >Date de naissance</td>
<td><input type="text" name="dat_naiss_enseig_1" /></td>
</tr>
<tr>

<td>Situation familiale</td>
<td align="center"><select name="situation_fam_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM situation_fam";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["situation_fam_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>


<td>Diplome académique</td>
<td><select name="diplome_ac_enseig_1" size="1">
<option></option>
<?php
//debut de recupération du diplome_ac
$requete="SELECT * FROM diplome_ac";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["diplome_ac_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation du diplomee_ac
?>
</select> </td>
</tr>
<tr>


<td>Diplome professionnelle</td>
<td><select name="diplome_prof_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM diplome_prof";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["diplome_prof_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select></td>


<td>Catégorie</td>
<td><select name="categorie_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM categorie";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["categorie_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>
</tr>
<tr>

<td >Corps</td>


<td align="center"><select name="corps_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM corps";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["corps_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>




<td >Statut</td>


<td><select name="statut_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM statut";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["statut_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>
</tr>
<tr>
<td>Fonction exercée</td>

<td><select name="fonction_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM fonction";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["fonction_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de la fonction
?>
</select> </td>


<td >Section tenue</td>


<td><select name="section_tenue_enseig_1" size="1">
<option></option>
<?php
//debut de recupération de l'année
$requete="SELECT * FROM niveau LIMIT 1,4";
$resultat=mysql_query($requete);
$enregistrement=NULL;
while( $enregistrement=mysql_fetch_array( $resultat)) {
$affichage="<option value=\"".$enregistrement[0]."\"";
if ($_POST["section_tenue_enseig_1"]==$enregistrement[0])
$affichage .= " selected ";
$affichage .= ">".$enregistrement[1]."</option>/n";
echo $affichage;
}
//fin de recuperation de l'année
?>
</select> </td>
</tr>
<tr>


<td align="center" width="5">Date engagement(mois/année)</td>

<td width="5"><input type="text" name="dat_entree_enseig_1" /></td>




<td align="center" width="5">Date d'afectation dans l'établissement(mois/année) </td>

<td ><input type="text" name="dat_affect_enseig_1" /></td>
</tr>

</table>
</fieldset>

</td>

</tr>
<tr>
<td>
<table border="1" align="right">
<tr><td><a href="Enseignantsuivant.php"</a></td>
</tr></table>
</td>
</tr>
</table>

</form>
</body>
</html>

1 réponse

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Bjr

je suis en train d'apprendre le HTML

Oui mais ta page comporte aussi bcp de php + sql : connais-tu déjà ce langage ? Car on général on commence par l'HTML le php vient ensuite

Si tu connais déjà le php ben c'est simple : il suffit de paramètrer entièrement ton formulaire en php et de lui passer le nr (ou identifiant) de l'enseignant à modifier.

le mieux de passer également un second paramètre en plus de l'identifiant qui indique à php ce que tu veux faire :
créer un nouvel enseignant, modifier la fiche d'un enseignant déjà existant, supprimer une fiche etc

En fonction du mode et de l'identifiant (qui est vide en cas de création bien sûr ;-) php précharge le formulaire en recherchant les infos dans ta base de données MySQL , ou bien précharge un formulaire vide avant de l'envoyer au navigateur.


Si tu as bcp d'enseignant (mettons 100) passer d'un enseignant à l'autre par suivant est évidemment très pénible ! Il faut mieux pouvoir saisir son identifiant directement ou mieux pouvoir sélectionner l'enseignant dans une liste
0