gestion absences/presences en php

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

23 mai 2011, 18:37


NON dsl toujours pas!!la liste des années marche mais on ne voit plus les étudiants même après avoir choisis une "année"!
Elle marche chez toi?

et rien n'a voir mais comment fait on pour que toute mon attestation s'affiche sur une autre page?

Sans voir ton code php et ta base, je ne peux rien affirmer. Mais chez moi, je teste toujours et quand ça marche, je poste. Je n'ai jamais envoyé un programme sans le tester.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

24 mai 2011, 08:45

voici mon code :
attestation.php :
<?php
include ("menu.php");
include ("variable.php");
include ("fonction.php");
?>
 <form name="form1">
<table>
<tr>
<th>
</th>
<th>
<select name="annee" onChange="form1.submit();" value="<?php echo $annee; ?>" >
<option value="" ></option>
<?php echo $listeAnnees; ?>
 </select>
</th>
</tr>
 <tr>
  <th>
 </th>
<th>
                                               
<select name="idEtudiant" value="<?php echo isset($idEtudiant)?$idEtudiant:null; ?>" >
<option value="" >
</option>
<?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
</select>
                                                </th>
                                                <th>
                                                        <br/>
                                                        <input type="submit" name="action_attestation" value="Total absences">
                                                        <br /><br />          
                                                </th>
                                                <th rowspan="2">
                                                                       
                                                </th>
                                        </tr>  
                                        <tr>
                                                <th>
                                                        &nbsp;&nbsp;&nbsp;&nbsp;Date :&nbsp;
                                                </th>
                                                <th>
                                                        <br />
                                                        &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="dateLib" name="date" value="<?php echo isset($date)?$date:null; ?>" style="width:180px"
                                                                onfocus="visuCal(this,{'format' : '%j-%m-%a'})" onblur="masqueCal(this);"  />&nbsp;&nbsp;&nbsp;&nbsp;
                                                        <br /><br />
                                                </th>
                                                <th> <br/>
                                                </th>
                                        </tr>
                                </table>
                                                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="Imprimer" onClick="imprime_zone('attestation');">
                        </form>
                                <div id="messag">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo isset($message2)?$message2:''; ?></div>
                        <br/><br/>          
</div>
<div id="attestation">
        <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?>
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
        de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
                <?php echo isset($message4)?$message4:''; ?> <?php echo isset($message5)?$message5:''; ?> <?php echo isset($message6)?$message6:''; ?> inscrit en <?php echo isset($message7)?$message7:''; ?>
        <br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($message5)?$message5:''; ?> <?php echo isset($message6)?$message6:''; ?></th><th>........</th></tr>
        </table>
</div>
</div>
menu.php :
<?php
                // on se connecte à notre base  
                mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
?>
        <script language="JavaScript">
                        function imprime_zone(obj)
                        {
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("", "", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");

                        // Définit le Style de la page
                        f.document.body.style.color = '#000000';
                        f.document.body.style.backgroundColor = '#FFFFFF';
                        f.document.body.style.padding = "10px";

                        // Affiche le contenu HTML de obj dans le body de la nouvelle fenêtre
                        f.document.body.innerHTML  = document.getElementById(obj).innerHTML;

                        // Imprime et ferme la fenêtre
                        f.window.print();
                        f.window.close();
                        return true;
                        }
                        </script>
fonction.php :
<?php
include("variable.php");
// reception des zones du formulaires
$date = isset($_GET['date']) && !empty($_GET['date'])? $_GET['date'] : null;
//$mois =  date_format(date_create($date), "m"); // extrait le mois de $date
$idEtudiant = isset($_GET['idEtudiant']) && !empty($_GET['idEtudiant'])? $_GET['idEtudiant'] : null;
$nom = isset($_GET['nom']) && !empty($_GET['nom'])? $_GET['nom'] : null;
$annee = isset($_GET['annee']) && !empty($_GET['annee'])? $_GET['annee'] : null;
//LISTES

                // crée la liste des Annees
                $listeAnnees = "";
                $sql = "SELECT DISTINCT annee FROM etudiant ORDER BY annee;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = $row['annee']==$annee? " selected " : "";
                                $listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }

        /*      // crée la liste des Annees
                $listeMois = "";
                $sql = "SELECT DISTINCT mois FROM assiduite ORDER BY mois;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = $row['annee']==$annee? " selected " : "";
                                $listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                } */

               
                // crée la liste des classes
                $listeClasses = "";
                $sql = "SELECT DISTINCT idClasse FROM etudiant ORDER BY idClasse;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = $row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                }
//FORMASSIDUITE

                // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                                //
                                $message = "";
                                if (empty($date)) $message .= "<p>La date est obligatoire !</p>";
                                if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                                if (empty($annee)) $message .= "<p>L'Année est obligatoire !</p>";
                                //
                                if (empty($message))
                                {
                                        $listeAbsences = isset($_GET['absences'])?$_GET['absences']:array();
                                        //echo "<pre>"; print_r($listeAbsences); echo "</pre>";
                                        $sql = "SELECT * FROM etudiant WHERE idClasse = '".$idClasse."';";
                                        $result = mysql_query($sql) or die(mysql_error());
                                        while($result && $row=mysql_fetch_array($result))
                {
                        $idEtudiant = $row['idEtudiant'];     $nomEtudiant = $row['nom'];
                        $presence_mat_t1 = isset($listeAbsences["$idEtudiant"]['mat_t1'])?0:1;
                        $presence_mat_t2 = isset($listeAbsences["$idEtudiant"]['mat_t2'])?0:1;
                        $presence_amidi_t1 = isset($listeAbsences["$idEtudiant"]['amidi_t1'])?0:1;
                        $presence_amidi_t2 = isset($listeAbsences["$idEtudiant"]['amidi_t2'])?0:1;
                        //
                        // Nouvel enregistrement ou Mise à jour
                        if ($mode_ajout==true){
                        $sql="INSERT INTO assiduite SET date='".$date."', idEtudiant='".$idEtudiant."',
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."';";                            
                        } else {
                                $sql="UPDATE assiduite SET      
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."'
                                                                       
                                                WHERE date='".$date."' AND idEtudiant='".$idEtudiant."';";                  
                        }
                        //
                        //echo $sql;
                        if (!@mysql_query($sql)) $message .= "<li>".$nomEtudiant." => Erreur : ".mysql_error()."</li>";
                }
                if (empty($message)) $message = "Enregistrement effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
        }
}              
                // crée les listes des profs
                $listeProfs_mat_t1 = "";
                $listeProfs_mat_t2 = "";
                $listeProfs_amidi_t1 = "";
                $listeProfs_amidi_t2 = "";
                $sql = "SELECT * FROM prof ORDER BY nom;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = $row['nom']==$nomProf_mat_t1? " selected " : "";
                                $listeProfs_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";    
                                //
                                $selected = $row['nom']==$nomProf_mat_t2? " selected " : "";
                                $listeProfs_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = $row['nom']==$nomProf_amidi_t1? " selected " : "";
                                $listeProfs_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = $row['nom']==$nomProf_amidi_t2? " selected " : "";
                                $listeProfs_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                }
               
                //liste des matiere
                $listeMatieres_mat_t1 = "";
                $listeMatieres_mat_t2 = "";
                $listeMatieres_amidi_t1 = "";
                $listeMatieres_amidi_t2 = "";
                $sql = "SELECT * FROM matiere ORDER BY nom;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = $row['nom']==$nomMatiere_mat_t1? " selected " : "";
                                $listeMatieres_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";  
                                //
                                $selected = $row['nom']==$nomMatiere_mat_t2? " selected " : "";
                                $listeMatieres_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = $row['nom']==$nomMatiere_amidi_t1? " selected " : "";
                                $listeMatieres_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = $row['nom']==$nomMatiere_amidi_t2? " selected " : "";
                                $listeMatieres_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                }

//CONSULTATION D'ASSIDUITE

                //-------------------------------------
                // TRAITEMENT DES BOUTON D'ACTION
                //-------------------------------------
                $message = "";
                if (isset($_GET['action_nb_absence_date']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UNE DATE
                                $nombreheureabsence = 0;
                                $sql = "SELECT * FROM `nbre_heures_absence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsence = $row['nbre_heures_absence'];
                                }
                                $message = "    Nombre d'heures d'absence : " . $nombreheureabsence . "H";
                }
                //------------------------------------------
                if (isset($_GET['action_nb_presence_date']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UNE DATE
                                $nombreheurepresence = 0;
                                $sql = "SELECT * FROM `nbre_heures_presence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresence = $row['nbre_heures_presence'];
                                }
                                $message = "    Nombre d'heures de présence : " . $nombreheurepresence . "H";
                }
                //-----------------------------------------------
                if (isset($_GET['action_nb_absence_mois']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UN MOIS
                                $nombreheureabsencemois = 0;
                                $sql = "SELECT * FROM `nb_heures_absence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsencemois = $row['nbre_heures_absence'];
                                }
                                $message = "    Nombre d'heures d'absence du mois : " . $nombreheureabsencemois . "H";
                }

                //------------------------------------------
                if (isset($_GET['action_nb_presence_mois']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UN MOIS
                                $nombreheurepresencemois = 0;
                                $sql = "SELECT * FROM `nb_heures_presence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresencemois = $row['nbre_heures_presence'];
                                }
                                $message = "    Nombre d'heures de présence du mois : " . $nombreheurepresencemois . "H";
                }

                //------------------------------------------
                if (isset($_GET['action_total_absence']) && !empty($idEtudiant))
                {
                                // CALCUL DU TOTAL D'ABSENCES D'UN Etudiant
                                $totalheureabsence  = 0;
                                $sql = "SELECT * FROM `total_heures_absence` WHERE idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $totalheureabsence = $row['nbre_heures_absence'];
                                }
                                $message = "    Total heures d'absence : " . $totalheureabsence . "H";
                }
                //-----------------------------------------------
                if (isset($_GET['action_total_presence']) &&  !empty($idEtudiant))
                {
                                // CALCUL DU TOTAL DE PRESENCES D'UN Etudiant
                                $totalheurepresence  = 0;
                                $sql = "SELECT * FROM `total_heures_presence` WHERE idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());

                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $totalheurepresence = $row['nbre_heures_presence'];
                                }
                                $message = "Total heures de présence : " . $totalheurepresence . "H";
                }
                //----------------------------------------------------

                if (isset($_GET['action_nb_absence_jour']) && !empty($idEtudiant))
                {
                                // requête SQL: Nombre d'heures d'absence par jour pour l'élève $idEtudiant
                                $sql = "SELECT t1.* , t2.*  FROM  `nbre_heures_absence` t1  join `etudiant` t2 ON t1.idEtudiant=t2.idEtudiant
                                                   WHERE  t1.idEtudiant = '". $idEtudiant . "'   AND t1.nbre_heures_absence >0 ";

                                $result = mysql_query($sql) or die(mysql_error());
                                while ($result && $row = mysql_fetch_array($result))
                                {
                                   // afficher les heures d'absence de l'élève par jour
                                 $message .= "<p>l'élève " . $row['nom']. " a été absent le : " . date('d M Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</p>";
                       
                                }
                }


//ATTESTATION

                       


                //-------------------------------------
                // TRAITEMENT DES BOUTON D'ACTION
                //-------------------------------------
                $message1 = "";
                $message4 = "";
                $message5 = "";
                $message6 = "";
                $message7 = "";
               
               
               
                //------------------------------------------
                if (isset($_GET['action_attestation']) && !empty($idEtudiant))
                {
                                // attestation (nom etudiant, entreprise, nombre heure par mois, jours d'absences)

                                                $sql = "SELECT * FROM etudiant t1 JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise WHERE t1.annee='". $annee ."' ";
                                                $result = mysql_query($sql) or die(mysql_error());
                                                while($result && $row=mysql_fetch_array($result))
                                                {
                                 // données élève utiles à l'attestation: etudiant, entreprise et classe
                                                                $idEtudiant = $row['idEtudiant'];
                                                                $nomEtudiant = $row['nom'];
                                                                $prenomEtudiant = $row['prenom'];
                                                                $civiliteEtudiant = $row['civilite'];
                                                                $idClasse = $row['idClasse'];
                                                }
                                           
                                                $nombreheurepresencemois = 0;
                                                $nombreheureabsencemois = 0;
                           
                                                $sql = "SELECT t1.* , t2.*  FROM  `nbre_heures_absence` t1  join `etudiant` t2 ON t1.idEtudiant=t2.idEtudiant
                                                   WHERE  t1.idEtudiant = '". $idEtudiant . "'   AND t1.nbre_heures_absence >0 ";        $result = mysql_query($sql) or die(mysql_error());
                                                while ($result && $row = mysql_fetch_array($result))
                                {
                                   // afficher les heures d'absence de l'élève par jour
                                 $message1 .=  "<li>Le ". date('d', strtotime($row['date'])). " " .$tab_nomMois_FR[intval(date('m', strtotime($row['date'])))] . " " .date('Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</li>";

                                                }
                                           
                                $sql = "SELECT * FROM `nb_heures_presence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresencemois = $row['nbre_heures_presence'];
                                }
                                           
                                                $sql = "SELECT * FROM `nb_heures_absence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                                 $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsencemois = $row['nbre_heures_absence'];
                                }
                               
                               
                                $sql = "SELECT civilite FROM etudiant WHERE idEtudiant= '" . $idEtudiant."'";
                                 $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $civilite = $row['civilite'];
                                }
                                $message4 = $civilite;
                               
                                $sql = "SELECT nom FROM etudiant WHERE idEtudiant= '" . $idEtudiant."'";
                                 $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nom = $row['nom'];
                                }
                                $message5 = $nom;
                               
                                $sql = "SELECT prenom FROM etudiant WHERE idEtudiant= '" . $idEtudiant."'";
                                 $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $prenom = $row['prenom'];
                                }
                                $message6 = $prenom;
                               
                                $sql = "SELECT idClasse FROM etudiant WHERE idEtudiant= '" . $idEtudiant."'";
                                 $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $idClasse = $row['idClasse'];
                                }
                                $message7 = $idClasse;

                               
                }




               
//ETUDIANT

        //LISTE DES ÉLÈVES
                // remplissage de la liste des élèves pour l'année sélectionnée
                $listeDesEtudiants = "";
                if (!empty($annee)){
                                $sql = "SELECT * FROM etudiant t1 JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise WHERE t1.annee='". $annee ."' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                                $selected = $row['idEtudiant']==$idEtudiant? " selected " : "";
                                $listeDesEtudiants .= "<option value=\"".$row['idEtudiant']."\" ".$selected." >".$row['nom']."</option>";
                                }
                }
        // LISTE DES ÉLÈVES DE LA CLASSE SÉLECTIONNÉE
                $listeAssiduiteEtudiants = "";
                if (isset($idClasse) && isset($date))
                {
                                // on fait une jointure externe à gauche du côté de la table client vers la table assiduité
                                // pour afficher tous les étudiants de la classe même si les données de présence sont NULL (cas nouvelle saisie)
                                $sql = "SELECT a.*, total_ha.*, e.*
                                FROM etudiant e LEFT OUTER JOIN assiduite a ON e.idEtudiant=a.idEtudiant AND a.date=date('".$date."')
                                LEFT OUTER JOIN total_heures_absence total_ha ON e.idEtudiant=total_ha.idEtudiant
                                WHERE e.idClasse = '".$idClasse."'
                                ORDER BY e.nom, e.prenom";
                                //echo $sql;
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {              
                                                // si les données d'assiduité sont NULL (surtout la date) alors il s'agit d'une nouvelle feuille de présence
                                                // sinon affiche l'absence sous 4 tranches horaires : 2 le matin(mat_t1 et mat_t2) et 2 l'après-midi(amidi_t1 et amidi_t2)
                                                if (is_null($row["date"])) $mode_ajout = true; else $mode_ajout = false;
                                                // stat du total des nbre_heures_absence
                                                $nbre_heures_absence = $row['nbre_heures_absence'];
                                                //
                                                $nomProf_mat_t1 = $row['nomProf_mat_t1'];
                                                $nomProf_mat_t2 = $row['nomProf_mat_t2'];
                                                $nomProf_amidi_t1 = $row['nomProf_amidi_t1'];
                                                $nomProf_amidi_t2 = $row['nomProf_amidi_t2'];
                                                //
                                                $nomMatiere_mat_t1 = $row['nomMatiere_mat_t1'];
                                                $nomMatiere_mat_t2 = $row['nomMatiere_mat_t2'];
                                                $nomMatiere_amidi_t1 = $row['nomMatiere_amidi_t1'];
                                                $nomMatiere_amidi_t2 = $row['nomMatiere_amidi_t2'];
                                                //
                                                $mat_t1_checked = $row['presence_mat_t1']!=1 && !is_null($row['presence_mat_t1']) ? " checked " : "";
                                                $mat_t2_checked = $row['presence_mat_t2']!=1 && !is_null($row['presence_mat_t2']) ? " checked " : "";
                                                $amidi_t1_checked = $row['presence_amidi_t1']!=1 && !is_null($row['presence_amidi_t1']) ? " checked " : "";
                                                $amidi_t2_checked = $row['presence_amidi_t2']!=1 && !is_null($row['presence_amidi_t2']) ? " checked " : "";
                                                //
                                                $listeAssiduiteEtudiants .= "<tr><td>".$row['nom']." ".$row['prenom']."</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t1]\" ".$mat_t1_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t2]\" ".$mat_t2_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t1]\" ".$amidi_t1_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t2]\" ".$amidi_t2_checked." /> Absent(e)</td>
                                                <td>" . $nbre_heures_absence . "</td></tr>";
                                }
                }
               
        //MODIFICATION ETUDIANT

                 // rechercher les données de l'élève choisi dans la liste
                if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEtudiant))
                {
                   $message = "";
                   $sql = "SELECT * FROM etudiant WHERE idEtudiant ='" . $idEtudiant . "' ";
                   $result = mysql_query($sql) or die(mysql_error());
                   if ($result && $row=mysql_fetch_array($result))
                   {
                                // affectation des données de l'élève dans les variables du formulaire
                                $civilite = $row['civilite'];
                                $nom = $row['nom'];
                                $prenom = $row['prenom'];
                                $idClasse =$row['idClasse'];
                                $annee =$row['annee'];
                                $promotion =$row['promotion'];
                                $redoublement =$row['redoublement'];
                                $adresse = $row['adresse'];
                                $code_postal = $row['code_postal'];
                                $ville = $row['ville'];
                                $portable = $row['portable'];
                                $mail = $row['mail'];
                                $date_de_naissance = $row['date_de_naissance'];
                           // .... Ajouter les autres champs de l'élève ....
                   }
                  else { $message = "<p>Elève non trouvé</p>"; }
                }
                                // modifier un Etudiant
                                if (isset($_GET['action']) && $_GET['action']=='modifier')
                                {
                                       
                                        //
                                        $message = "";
                                        if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
                                        if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
                                        if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
                                        if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                                        if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
                                        if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";
                                       
                                        if (empty($message))
                                        {
                                          $sql = "UPDATE etudiant SET civilite = '".$civilite."',nom = '".$nom."', prenom = '".$prenom."', idClasse = '".$idClasse."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', portable = '".$portable."', mail = '".$mail."', date_de_naissance = '".$date_de_naissance."', idEntreprise = '".$idEntreprise."' WHERE idEtudiant=" . $idEtudiant;
                                         
                                       
                                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                                        //echo $sql;
                                        if(!$result);
                                                               
                                                if (empty($message)) $message = "modification effectué avec succès";
                                                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                                        }
                                                   
                                }      
       
        //AJOUTER ETUDIANT

                        // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
                        if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
                        if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
                        if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                        if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
                        if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";

                       
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO etudiant (civilite, nom, prenom, idClasse, annee, promotion, redoublement, adresse, code_postal, ville, portable, mail, date_de_naissance, idEntreprise) VALUES ("'.$civilite.'","'.$nom.'", "'.$prenom.'", "'.$idClasse.'","'.$annee.'","'.$promotion.'","'.$redoublement.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$portable.'", "'.$mail.'", "'.$date_de_naissance.'", "'.$idEntreprise.'")';
                         
                                                $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        if(!$result);

                                if (empty($message)) $message = "Enregistrement effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                        }
                                   
                }      
               
        // SUPPRIMER UN ETUDIANT
                if (isset($_GET['action']) && $_GET['action']=='supprimer')
                {
                        $message = "";
                        if (empty($message))
                        {
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        if(!$result);
                                               
                                if (empty($message)) $message = "suppression effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                        }
                                   
                }

//ENTREPRISE
               
        // LISTE DES ENTREPRISE
                                $listeEntreprises = "";
                                $sql = "SELECT * FROM entreprise";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                                $selected = $row['idEntreprise']==$idEntreprise? " selected " : "";
                                                $listeEntreprises .= "<option value=\"".$row['idEntreprise']."\" ".$selected." >".$row['nom_entr']."</option>";
                                }
                               

        //AJOUT ENTREPRISE

                // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
                        if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
                        if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
                        if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
                        if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";

                       
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO entreprise (nom_entr, adresse, code_postal, ville, tel, mail, Tuteur) VALUES ("'.$nom_entr.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$tel.'", "'.$mail.'", "'.$Tuteur.'")';
                         
                                                $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        if(!$result);

                                if (empty($message)) $message = "Enregistrement effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                        }
                                   
                }                              
               
        // MODIFICATION ENTREPRISE

                // rechercher les données de l'entreprise choisi dans la liste
                if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEntreprise))
                {
                   $message = "";
                   $sql = "SELECT * FROM entreprise WHERE idEntreprise ='" . $idEntreprise . "' ";
                   $result = mysql_query($sql) or die(mysql_error());
                   if ($result && $row=mysql_fetch_array($result))
                   {
                                // affectation des données de l'entreprise dans les variables du formulaire
                               
                                $nom_entr = $row['nom_entr'];
                                $adresse = $row['adresse'];
                                $code_postal = $row['code_postal'];
                                $ville = $row['ville'];
                                $tel = $row['tel'];
                                $mail = $row['mail'];
                                $Tuteur = $row['Tuteur'];
                           // .... Ajouter les autres champs de l'entreprise ....
                   }
                  else { $message = "<p>Entreprise non trouvé</p>"; }
                }

                // modifier une Entreprise
                if (isset($_GET['action']) && $_GET['action']=='modifier')
                {
                       
                        //
                        $message = "";
                        if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
                        if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
                        if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
                        if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
                        if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";
                       
                        if (empty($message))
                        {
                          $sql = "UPDATE entreprise SET nom_entr = '".$nom_entr."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', tel = '".$tel."', mail = '".$mail."', Tuteur = '".$Tuteur."' WHERE idEntreprise=" . $idEntreprise;
                         
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        if(!$result);
                                               
                                if (empty($message)) $message = "modification effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                        }
                                   
                }              
               
        //SUPPRIMER ENTREPRISE
       
                if (isset($_GET['action']) && $_GET['action']=='supprimer')
                {
                        //
                        $message = "";
                        if (empty($message))
                        {
                        $sql = 'DELETE FROM matiere WHERE nom_entr="' . $nom_entr . '" ';              
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        if(!$result);
                                               
                                if (empty($message)) $message = "suppression effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
                        }
                                   
                }      
       
//PROFS
               
        //LISTE DES PROFS
                                $listeDesProfs = "";
                                $sql = "SELECT * FROM prof";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                                $selected = $row['nom']==$nom? " selected " : "";
                                                $listeDesProfs .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                }
    
              
//FIN DE CONNEXION
                mysql_close();
                               
?>
variable.php :
<?php
        // variable pour savoir s'il faut créer une nouvelle absence ou modifier une existante
        $mode_ajout = isset($_GET['mode_ajout']) && !empty($_GET['mode_ajout'])? $_GET['mode_ajout'] : null;
        $idEtudiant = isset($_GET['idEtudiant']) && !empty($_GET['idEtudiant'])? $_GET['idEtudiant'] : null;

        $civilite = isset($_GET['civilite']) && !empty($_GET['civilite'])? $_GET['civilite'] : null;
        $nom_entr = isset($_GET['nom_entr']) && !empty($_GET['nom_entr'])? $_GET['nom_entr'] : null;
        $nom = !empty($_GET['nom'])? $_GET['nom'] : null;
        $idClasse = isset($_GET['idClasse']) && !empty($_GET['idClasse'])? $_GET['idClasse'] : null;
        $prenom = isset($_GET['prenom']) && !empty($_GET['prenom'])? $_GET['prenom'] : null;
        $adresse = isset($_GET['adresse']) && !empty($_GET['adresse'])? $_GET['adresse'] : null;
        $code_postal = isset($_GET['code_postal']) && !empty($_GET['code_postal'])? $_GET['code_postal'] : null;
        $ville = isset($_GET['ville']) && !empty($_GET['ville'])? $_GET['ville'] : null;
        $portable = isset($_GET['portable']) && !empty($_GET['portable'])? $_GET['portable'] : null;
        $mail = isset($_GET['mail']) && !empty($_GET['mail'])? $_GET['mail'] : null;
        $tel = isset($_GET['tel']) && !empty($_GET['tel'])? $_GET['tel'] : null;
        $Tuteur = isset($_GET['Tuteur']) && !empty($_GET['Tuteur'])? $_GET['Tuteur'] : null;
        $date = isset($_GET['date']) && !empty($_GET['date'])? $_GET['date'] : null;
        //$mois =  date_format(date_create($date), "m"); // extrait le mois de $date
        $annee = isset($_GET['annee'])? $_GET['annee'] : null;
        $promotion = isset($_GET['promotion']) && !empty($_GET['promotion'])? $_GET['promotion'] : null;
        $redoublement = isset($_GET['redoublement']) && !empty($_GET['redoublement'])? $_GET['redoublement'] : null;   
        $date_de_naissance = isset($_GET['date_de_naissance']) && !empty($_GET['date_de_naissance'])? $_GET['date_de_naissance'] : null;
        $idEntreprise = isset($_GET['idEntreprise']) && !empty($_GET['idEntreprise'])? $_GET['idEntreprise'] : null;     
       
        $nomProf_mat_t1 = isset($_GET['nomProf_mat_t1']) ? $_GET['nomProf_mat_t1'] : null;
        $nomProf_mat_t2 = isset($_GET['nomProf_mat_t2']) ? $_GET['nomProf_mat_t2'] : null;
        $nomProf_amidi_t1 = isset($_GET['nomProf_amidi_t1']) ? $_GET['nomProf_amidi_t1'] : null;
        $nomProf_amidi_t2 = isset($_GET['nomProf_amidi_t2']) ? $_GET['nomProf_amidi_t2'] : null;
         
        $nomMatiere_mat_t1 = isset($_GET['nomMatiere_mat_t1']) ? $_GET['nomMatiere_mat_t1'] : null;
        $nomMatiere_mat_t2 = isset($_GET['nomMatiere_mat_t2']) ? $_GET['nomMatiere_mat_t2'] : null;
        $nomMatiere_amidi_t1 = isset($_GET['nomMatiere_amidi_t1']) ? $_GET['nomMatiere_amidi_t1'] : null;
        $nomMatiere_amidi_t2 = isset($_GET['nomMatiere_amidi_t2']) ? $_GET['nomMatiere_amidi_t2'] : null;
       
        $mois = intval(date('m', strtotime($date)));
        $tab_nomMois_FR = array(1=>'Janvier',2=>'Février',3=>'Mars',4=>'Avril',5=>'Mai',6=>'Juin',7=>'Juillet',8=>'Août',9=>'Septembre',10=>'Octobre',11=>'Novembre',12=>'Décembre');
        $nomMois = $tab_nomMois_FR[$mois];
?>
voila maintenant cela fait beaucoup plus propre.^^
donc voila je sais pas si cela va t'aider.

PS : export de ma base de donné dans un message suivant car limite maximale de 60 000 caractère!!
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

24 mai 2011, 08:48

comme prévue la suite!!

export de ma base de donnée :
-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mar 24 Mai 2011 à 06:31
-- Version du serveur: 5.1.53
-- Version de PHP: 5.3.4

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `bd_etudiants`
--

-- --------------------------------------------------------

--
-- Structure de la table `assiduite`
--

CREATE TABLE IF NOT EXISTS `assiduite` (
  `date` date NOT NULL,
  `idEtudiant` int(11) NOT NULL,
  `presence_mat_t1` int(11) NOT NULL DEFAULT '1',
  `presence_mat_t2` int(11) NOT NULL DEFAULT '1',
  `presence_amidi_t1` int(1) NOT NULL DEFAULT '1',
  `presence_amidi_t2` int(11) NOT NULL DEFAULT '1',
  `nomProf_mat_t1` varchar(50) NOT NULL,
  `nomProf_mat_t2` varchar(50) NOT NULL,
  `nomProf_amidi_t1` varchar(50) NOT NULL,
  `nomProf_amidi_t2` varchar(50) NOT NULL,
  `nomMatiere_mat_t1` varchar(50) NOT NULL,
  `nomMatiere_mat_t2` varchar(50) NOT NULL,
  `nomMatiere_amidi_t1` varchar(50) NOT NULL,
  `nomMatiere_amidi_t2` varchar(50) NOT NULL,
  `motif` varchar(20) NOT NULL,
  UNIQUE KEY `idAssiduite` (`date`,`idEtudiant`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `assiduite`
--

INSERT INTO `assiduite` (`date`, `idEtudiant`, `presence_mat_t1`, `presence_mat_t2`, `presence_amidi_t1`, `presence_amidi_t2`, `nomProf_mat_t1`, `nomProf_mat_t2`, `nomProf_amidi_t1`, `nomProf_amidi_t2`, `nomMatiere_mat_t1`, `nomMatiere_mat_t2`, `nomMatiere_amidi_t1`, `nomMatiere_amidi_t2`, `motif`) VALUES
('2010-10-04', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-04', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-05', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-11', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 5, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 7, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-12', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 2, 1, 1, 1, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 9, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-18', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 9, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-19', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 1, 1, 1, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 9, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-25', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 9, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-10-26', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 5, 1, 1, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-02', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 5, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 7, 1, 1, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 10, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-08', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 5, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 6, 0, 0, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 7, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-09', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 4, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-15', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 4, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-16', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 5, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 8, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-22', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 2, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 5, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 7, 1, 1, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-23', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 1, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 5, 0, 0, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-29', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 2, 0, 0, 0, 0, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 3, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 4, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 5, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 6, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 7, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 8, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 9, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 10, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2010-11-30', 11, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-01', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-01', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-01', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-01', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-07', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-07', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-07', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-07', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-08', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-08', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-08', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-08', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-14', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-14', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-14', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-14', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-15', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-15', 13, 0, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-15', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-15', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-21', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-21', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-21', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-21', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-22', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-22', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-22', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-22', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-28', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-28', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-28', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-28', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-29', 12, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-29', 13, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-29', 14, 1, 1, 1, 1, '', '', '', '', '', '', '', '', ''),
('2011-04-29', 15, 1, 1, 1, 1, '', '', '', '', '', '', '', '', '');

-- --------------------------------------------------------

--
-- Structure de la table `entreprise`
--

CREATE TABLE IF NOT EXISTS `entreprise` (
  `idEntreprise` int(10) NOT NULL AUTO_INCREMENT,
  `nom_entr` varchar(20) NOT NULL,
  `adresse` varchar(30) NOT NULL,
  `code_postal` varchar(6) NOT NULL,
  `ville` varchar(20) NOT NULL,
  `tel` varchar(15) NOT NULL,
  `mail` varchar(30) NOT NULL,
  `Tuteur` varchar(20) NOT NULL,
  PRIMARY KEY (`idEntreprise`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Contenu de la table `entreprise`
--

INSERT INTO `entreprise` (`idEntreprise`, `nom_entr`, `adresse`, `code_postal`, `ville`, `tel`, `mail`, `Tuteur`) VALUES
(3, 'mac donald', 'rue de', '01', 'gex', '', '', 'Mr'),

-- --------------------------------------------------------

--
-- Structure de la table `etudiant`
--

CREATE TABLE IF NOT EXISTS `etudiant` (
  `idEtudiant` int(11) NOT NULL AUTO_INCREMENT,
  `civilite` varchar(5) NOT NULL,
  `nom` varchar(20) NOT NULL,
  `prenom` varchar(20) NOT NULL,
  `idClasse` varchar(20) DEFAULT NULL,
  `annee` varchar(20) NOT NULL,
  `promotion` varchar(20) NOT NULL,
  `redoublement` varchar(20) DEFAULT NULL,
  `adresse` varchar(30) DEFAULT NULL,
  `code_postal` varchar(10) DEFAULT NULL,
  `ville` varchar(30) DEFAULT NULL,
  `portable` varchar(20) DEFAULT NULL,
  `mail` varchar(40) DEFAULT NULL,
  `date_de_naissance` varchar(10) DEFAULT NULL,
  `idEntreprise` int(11) NOT NULL,
  PRIMARY KEY (`idEtudiant`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

--
-- Contenu de la table `etudiant`
--

INSERT INTO `etudiant` (`idEtudiant`, `civilite`, `nom`, `prenom`, `idClasse`, `annee`, `promotion`, `redoublement`, `adresse`, `code_postal`, `ville`, `portable`, `mail`, `date_de_naissance`, `idEntreprise`) VALUES
(1, 'Mlle', 'BEDDIAF', 'Sonia', 'BTS NRC', '1ère année', '2010-2012', NULL, '', '', '', '', '', '', 0),
(2, 'M', 'FREMANTEAU', 'Yoann', 'BTS MUC', '1ère année', '2010-2012', NULL, '', '', '', '', '', '', 0),
(3, 'M', 'LAMIRAL ', 'Bastien ', 'BTS NRC ', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(4, 'Mlle', 'MARTIN ', 'Laetitia', 'BTS AG ', '1ère année', '2010-2012', NULL, '', '', '', '', '', '', 0),
(5, 'Mlle', 'MARZOUKI ', 'Dounia', 'BTS MUC ', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(6, 'M', 'POUDAT ', 'Fabien', 'BTS MUC ', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(7, 'Mlle', 'ROUISSI ', 'Amel', 'BTS AG ', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(8, 'Mlle', 'SALSOUL ', 'Samira', 'BTS MUC', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(9, 'M', 'SAYOUD ', 'Islam', 'BTS NRC ', '1ère année', '2010-2012', NULL, '', '', '', '', '', '', 0),
(10, 'Mlle', 'TEYSSIEUX ', 'Pauline', 'BTS AG ', '1ère année', '2010-2012', NULL, '', '', '', '', '', '', 0),
(11, 'Mlle', 'ULLMANN ', 'Maria', 'BTS MUC', '1ère année', ' 2010-2012', NULL, '', '', '', '', '', '', 0),
(12, 'Mlle', 'ASKRI', 'Najla', 'BTS AG', '2ème année', ' 2009-2011', NULL, '', '', '', '', '', '', 0),
(13, 'Mlle', 'EXCOFFIER', 'Alisa', 'BTS AG ', '2ème année', '2009-2011', NULL, '', '', '', '', '', '', 0),
(14, 'Mlle', 'LACHHAB', 'Fadoua', 'BTS AG ', '2ème année', '2009-2011', NULL, '', '', '', '', '', '', 0),
(15, 'Mlle', 'MONJED', 'Sameh', 'BTS NRC ', '2ème année', '2009-2011', NULL, '', '', '', '', '', '', 0),
(16, '', 'stark', 'tony', 'dut R&T', 'ancien élève', '2008-2011', '1ère année', '7 avenue d''alery', '74000', 'Annecy', '659339353', '[email protected]', '02/08/89', 0);

-- --------------------------------------------------------

--
-- Structure de la table `matiere`
--

CREATE TABLE IF NOT EXISTS `matiere` (
  `nom` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `matiere`
--

INSERT INTO `matiere` (`nom`) VALUES
('Anglais'),
('Communication'),
('Culture'),
('Droit'),
('Economie Générale'),
('Informatique'),
('Management'),
('Management Entr.'),
('Marketing');

-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `nbre_heures_absence`
--
CREATE TABLE IF NOT EXISTS `nbre_heures_absence` (
`date` date
,`idEtudiant` int(11)
,`nbre_heures_absence` decimal(37,0)
);
-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `nbre_heures_presence`
--
CREATE TABLE IF NOT EXISTS `nbre_heures_presence` (
`date` date
,`idEtudiant` int(11)
,`nbre_heures_presence` decimal(36,0)
);
-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `nb_heures_absence_mois`
--
CREATE TABLE IF NOT EXISTS `nb_heures_absence_mois` (
`mois` int(2)
,`idEtudiant` int(11)
,`nbre_heures_absence` decimal(37,0)
);
-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `nb_heures_presence_mois`
--
CREATE TABLE IF NOT EXISTS `nb_heures_presence_mois` (
`mois` int(2)
,`idEtudiant` int(11)
,`nbre_heures_presence` decimal(36,0)
);
-- --------------------------------------------------------

--
-- Structure de la table `prof`
--

CREATE TABLE IF NOT EXISTS `prof` (
  `nom` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `prof`
--


-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `total_heures_absence`
--
CREATE TABLE IF NOT EXISTS `total_heures_absence` (
`idEtudiant` int(11)
,`nbre_heures_absence` decimal(37,0)
);
-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `total_heures_presence`
--
CREATE TABLE IF NOT EXISTS `total_heures_presence` (
`idEtudiant` int(11)
,`nbre_heures_presence` decimal(36,0)
);
-- --------------------------------------------------------

--
-- Structure de la vue `nbre_heures_absence`
--
DROP TABLE IF EXISTS `nbre_heures_absence`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `nbre_heures_absence` AS select `assiduite`.`date` AS `date`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum((8 - ((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2)))) AS `nbre_heures_absence` from `assiduite` group by `assiduite`.`date`,`assiduite`.`idEtudiant`;

-- --------------------------------------------------------

--
-- Structure de la vue `nbre_heures_presence`
--
DROP TABLE IF EXISTS `nbre_heures_presence`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `nbre_heures_presence` AS select `assiduite`.`date` AS `date`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum(((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2))) AS `nbre_heures_presence` from `assiduite` group by `assiduite`.`date`,`assiduite`.`idEtudiant`;

-- --------------------------------------------------------

--
-- Structure de la vue `nb_heures_absence_mois`
--
DROP TABLE IF EXISTS `nb_heures_absence_mois`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `nb_heures_absence_mois` AS select month(`assiduite`.`date`) AS `mois`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum((8 - ((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2)))) AS `nbre_heures_absence` from `assiduite` group by month(`assiduite`.`date`),`assiduite`.`idEtudiant`;

-- --------------------------------------------------------

--
-- Structure de la vue `nb_heures_presence_mois`
--
DROP TABLE IF EXISTS `nb_heures_presence_mois`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `nb_heures_presence_mois` AS select month(`assiduite`.`date`) AS `mois`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum(((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2))) AS `nbre_heures_presence` from `assiduite` group by month(`assiduite`.`date`),`assiduite`.`idEtudiant`;

-- --------------------------------------------------------

--
-- Structure de la vue `total_heures_absence`
--
DROP TABLE IF EXISTS `total_heures_absence`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `total_heures_absence` AS select `assiduite`.`idEtudiant` AS `idEtudiant`,sum((8 - ((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2)))) AS `nbre_heures_absence` from `assiduite` group by `assiduite`.`idEtudiant`;

-- --------------------------------------------------------

--
-- Structure de la vue `total_heures_presence`
--
DROP TABLE IF EXISTS `total_heures_presence`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `total_heures_presence` AS select `assiduite`.`idEtudiant` AS `idEtudiant`,sum(((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2))) AS `nbre_heures_presence` from `assiduite` group by `assiduite`.`idEtudiant`;
cela n'a rien à voir mais je t'avais demandé si tu pouvais me donner le schéma fonctionnel des tables (MCD)?car je ne vois pas tout les lien entre les tables, et vu ou me le donner en écrit avec les jointure et je me débrouillerais a le faire en graphique (je pense qu'il existe des logiciel au lieu de faire sur paint)
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 mai 2011, 15:26

J'ai relevé plusieurs erreurs dans tes scripts que j'ai corrigé et j'ai des suggestions pour que ça tienne la route.
Je vais commencé par les suggestions:
1. D'abord, ta méthode qui consiste à regrouper toutes les variables dans un script php à part et de même pour le menu et les fonctions, est une bonne méthode mais il faut absolument nommer les variables convenablement selon leur contexte, par exemple, ne pas utiliser la variable $nom mais il faut spécifier de quel nom il s'agit. Le mieux est de nommer comme ça: $nom_Etudiant, $nom_matiere, $nom_prof, ... et même chose pour tous les homonymes qui risquent de concerner plusieurs entités différentes comme l'adresse, l'email, le téléphone, etc... qu'on retrouvent à la fois pour l'étudiant et l'entreprise. De même les dates, etc...
De même dans le fichier fonction.php, tu regroupes tous les traitements, mais pour que ça ne soit pas une source d'erreurs, il faut toujours tester l'action déclencheur d'un traitement et/ou les variables nécessaires pour l'exécution du traitement.
Sinon; pour éviter d'avoir un gros fichier qui ressemble à une usine à gaz quand on est amené à déboguer et trouver les erreurs, il est préférable de séparer chaque traitement à part dans un fichier dédié : variables, fonctions php et html.

2. Quand tu parlais d'année dans le formulaire attestation, moi j'ai compris l'année de formation comme 2010, 2011, ... mais pour toi dans la base Etudiant tu la considères comme niveau d'étude : 1°année, 2° année, ... c'est pourquoi la requête de la liste des étudiants ne fonctionnait pas pour toi. Je te suggère d'utiliser le champ 'promotion' pour détecter les étudiant par rapport à l'année sélectionnée. J'ai corrigé le script php dans ce sens.

3. J'ai retouché un p'tit peu la gestion de l'attestation, on saisi donc l'année, le mois et un étudiant puis on affiche l'attestation dans une nouvelle page imprimable. J'ai pour cela apporté une amélioration dans les vues (requêtes) qui calculent le nombre d'heures de présence/absence par mois en prenant en considération aussi l'année ce qui est plus logique. J'ai aussi réglé ton problème avec le popup dont le titre restait à "about:blank", en modifiant 'document.title' dans le code javascript de l'impression qui se trouve dans le fichier 'menu.php'

4. J'ai corrigé toutes les erreurs de copier/coller aux quelles il faut faire attention. car il y avait même des requêtes SQL qui n'utilisait pas les bonnes tables ou champs car copiées à partir d'autres existantes.

Voici donc le correctif:

Le fichier attestation.php ne comprend plus que le formulaire de saisie puis envoi vers une autres page qui affiche l'attestation nommé 'afficher_attestation.php'. La redirection vers la page d'affichage se fait par un include() dans la fonction de traitement du formulaire attestation.

attestation.php : (modification des zones de liste : Année, Mois, Etudiant)
<?php
include ("menu.php");
include ("variable.php");
include ("fonction.php");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestion d'assiduité des élèves</title>
       
</head>
<body>
<div class="main2">
<h1>Consultation d'assiduité des élèves</h1>

<div id='feuille_absence'>
<form name="form1">
<table>
<tr>
<th>Année :&nbsp;&nbsp; 
<select name="annee" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnnees; ?>
</select>
</th>
<th>Mois :&nbsp;&nbsp; 
        <select name="mois" onChange="form1.submit();" >
        <option value="" ></option>
        <?php echo $listeMois; ?>
        </select>
</th>
</tr>
<tr>
<th>
Etudiant :&nbsp;&nbsp;      
        <select name="idEtudiant" >
        <option value="" >
        </option>
        <?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
        </select>
</th>
<th>
        <br/>
        <input type="submit" name="action_attestation" value="Total absences">
        <br /><br />          
</th>
 </tr>  
</table>
</form>
<div id="messag"><?php echo isset($message2)?$message2:''; ?></div>
<br/><br/>
                       
</div>
      
</div>
</body>
</html>
Et voici la partie de l'affichage de l'attestation:
afficher_attestation.php : (Emplacement des variables php modifié)
<div id="attestation">
        <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
	de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
		<?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
		<br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attestation');">
menu.php : (mise à jour de la fonction imprime_zone)
<?php
		// on se connecte à notre base  
		mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ajout d'élève dans la base</title>
<link rel="stylesheet" type="text/css" href="calendrier.css">
<script type="text/javascript" src="calendrier.js"></script>
  <link href="/index.php?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/index.php?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
  <script type="text/javascript" src="/media/system/js/mootools.js"></script>
  <script type="text/javascript" src="/media/system/js/caption.js"></script>
	<link rel="stylesheet" type="text/css" href="css/content.css">
	<link rel="stylesheet" type="text/css" href="css/current.css">
	<link rel="stylesheet" type="text/css" href="css/form.css">
	<link rel="stylesheet" type="text/css" href="css/html_code.css">
	<link rel="stylesheet" type="text/css" href="css/menu.css">
	<link rel="stylesheet" type="text/css" href="css/message.css">
	<link rel="stylesheet" type="text/css" href="css/module.css">
	<link rel="stylesheet" type="text/css" href="css/page_nav.css">
	<link rel="stylesheet" type="text/css" href="css/print.css">
	<link rel="stylesheet" type="text/css" href="css/template.css">
	<script language="JavaScript">
                        function imprime_zone(obj)

                        {
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("Impression.htm", "Impression", "height=50, width=400,toolbar=0, menubar=0, scrollbars=0, resizable=0,status=0, location=0, left=0, top=0");

                        // Définit le Style de la page
                        f.document.body.style.color = '#000000';
                        f.document.body.style.backgroundColor = '#FFFFFF';
                        f.document.body.style.padding = "10px";

                        // Affiche le contenu HTML de obj dans le body de la nouvelle fenêtre
			f.document.title = "Impression: " + document.getElementById(obj).id;
                        f.document.body.innerHTML  = document.getElementById(obj).innerHTML;

                        // Imprime et ferme la fenêtre
                        f.window.print();
                        f.window.close();
                        return true;
                        }
                        </script>
	
</head>
<body>
	<div class="main">
		<div class="logo">
		  <blockquote>
		    <blockquote>
		      <p>						 		<img src="images/banniere.jpg" width="1133" height="138" alt="banniere" />
	          </p>
	        </blockquote>
	      </blockquote>
		</div>
		<br/><br/>
	
			<div class="leftmod">
				<div class="leftmod2">		
					<div class="module_menu">
						<div>
							<div>
								<div>
																<h3>Menu Principal</h3>
														<ul class="menu">
														  <li id="current" class="active item1"><a href="index.php"><span>Accueil</span></a></li>
														  <li class="parent item27"><a href="formAssiduite.php"><span> Gestion d'assiduité</span></a></li>
														  <li class="item2"><a href="consultation_d_assiduite.php"><span>Consultation d'assiduite</span></a></li>
														  <li class="item37"><a href="attestation.php"><span>Attestation</span></a></li>
														  <li class="item37"><a href="gestion_etudiants.php"><span>Gestion des étudiants</span></a></li>
														  <li class="item37"><a href="gestion_profs.php"><span>Gestion des profs</span></a></li>
														  <li class="item37"><a href="gestion_matiere.php"><span>Gestion des matieres</span></a></li>
														  <li class="item37"><a href="gestion_entreprise.php"><span>Gestion des entreprises</span></a></li>
														  
														</ul>					
								</div>

							</div>
						</div>
					</div>
					<div class="module_menu">
						<div>
							<div>
								<div>
																<h3>Ressources</h3>

														<ul class="menu">
														  <li class="item11"><a href="modeles.php"><span>Modèles</span></a></li>
														  <li class="item12"><a href=""><span></span></a></li>
														  <li class="item13"><a href=""><span></span></a></li>
														  <li class="item17"><a href=""><span></span></a></li>
														</ul>					
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
			<br/><br/>
			
			
		</div>
</body>

</html>
fonction.php : (beaucoups de corrections et notamment le remplissage des listes année, mois, étudiant, les requêtes insert, update et delete qui existent, ...)
<?php
// Variables utilisées
include("variable.php");


//LISTES

		// crée la liste des Annees
		$listeAnnees = "";
		$sql = "SELECT DISTINCT Year(date) as annee FROM assiduite ORDER BY Year(date);";
		$result = mysql_query($sql) or die(mysql_error());
		while($result && $row=mysql_fetch_array($result))
		{
				$selected = isset($annee)&&$row['annee']==$annee? " selected " : "";
				$listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
		}
		
		// crée la liste des mois d'une année donnée
		$listeMois = "";
		if (isset($annee)){
			$sql = "SELECT DISTINCT Month(date) as mois FROM assiduite WHERE Year(date)=".$annee." ORDER BY Month(date);";
			$result = mysql_query($sql) or die(mysql_error());
			while($result && $row=mysql_fetch_array($result))
			{
				$selected = isset($mois)&&$row['mois']==$mois? " selected " : "";
				$listeMois .= "<option value=\"".$row['mois']."\" ".$selected." >".$tab_nomMois_FR[$row['mois']]."</option>";
			}
		}
		
	/* 	// crée la liste des Annees
		$listeMois = "";
		$sql = "SELECT DISTINCT mois FROM assiduite ORDER BY mois;";
		$result = mysql_query($sql) or die(mysql_error());
		while($result && $row=mysql_fetch_array($result))
		{
				$selected = isset($annee)&&$row['annee']==$annee? " selected " : "";
				$listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
		} */

		
		// crée la liste des classes
		$listeClasses = "";
		$sql = "SELECT DISTINCT idClasse FROM etudiant ORDER BY idClasse;";
		$result = mysql_query($sql) or die(mysql_error());
		while($result && $row=mysql_fetch_array($result))
		{
				$selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
				$listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
		}
		
		

//FORMASSIDUITE

		// enregistrer la saisie du formulaire
		if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
		{
				//
				$message = "";
				if (empty($date)) $message .= "<p>La date est obligatoire !</p>";
				if (empty($idEtudiant)) $message .= "<p>La sélection d'un étudiant est obligatoire !</p>";
				if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
				if (empty($annee)) $message .= "<p>L'Année est obligatoire !</p>";

			   
				//
				if (empty($message))
				{
					$listeAbsences = isset($_GET['absences'])?$_GET['absences']:array();
					//echo "<pre>"; print_r($listeAbsences); echo "</pre>";
					$sql = "SELECT * FROM etudiant WHERE idClasse = '".$idClasse."';";
					$result = mysql_query($sql) or die(mysql_error());
					while($result && $row=mysql_fetch_array($result))
                {
                        $idEtudiant = $row['idEtudiant'];     $nomEtudiant = $row['nom'];
                        $presence_mat_t1 = isset($listeAbsences["$idEtudiant"]['mat_t1'])?0:1;
                        $presence_mat_t2 = isset($listeAbsences["$idEtudiant"]['mat_t2'])?0:1;
                        $presence_amidi_t1 = isset($listeAbsences["$idEtudiant"]['amidi_t1'])?0:1;
                        $presence_amidi_t2 = isset($listeAbsences["$idEtudiant"]['amidi_t2'])?0:1;
                        //
                        // Nouvel enregistrement ou Mise à jour
                        if ($mode_ajout==true){
                        $sql="INSERT INTO assiduite SET date='".$date."', idEtudiant='".$idEtudiant."',
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."';";                            
                        } else {
                                $sql="UPDATE assiduite SET      
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."'
                                                                       
                                                WHERE date='".$date."' AND idEtudiant='".$idEtudiant."';";                   
                        }
                        //
                        //echo $sql;
                        if (!@mysql_query($sql)) $message .= "<li>".$nomEtudiant." => Erreur : ".mysql_error()."</li>";
                }
                if (empty($message)) $message = "Enregistrement effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
        }
}		

		// crée les listes des profs
		$listeProfs_mat_t1 = "";
		$listeProfs_mat_t2 = "";
		$listeProfs_amidi_t1 = "";
		$listeProfs_amidi_t2 = "";
		$sql = "SELECT * FROM prof ORDER BY nom;";
		$result = mysql_query($sql) or die(mysql_error());
		while($result && $row=mysql_fetch_array($result))
		{
				$selected = isset($nomProf_mat_t1)&&$row['nom']==$nomProf_mat_t1? " selected " : "";
				$listeProfs_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";     
				//
				$selected = isset($nomProf_mat_t2)&&$row['nom']==$nomProf_mat_t2? " selected " : "";
				$listeProfs_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				//
				$selected = isset($nomProf_amidi_t1)&&$row['nom']==$nomProf_amidi_t1? " selected " : "";
				$listeProfs_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				//
				$selected = isset($nomProf_amidi_t2)&&$row['nom']==$nomProf_amidi_t2? " selected " : "";
				$listeProfs_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
		}
		
		//liste des matiere
		$listeMatieres_mat_t1 = "";
		$listeMatieres_mat_t2 = "";
		$listeMatieres_amidi_t1 = "";
		$listeMatieres_amidi_t2 = "";
		$sql = "SELECT * FROM matiere ORDER BY nom;";
		$result = mysql_query($sql) or die(mysql_error());
		while($result && $row=mysql_fetch_array($result))
		{
				$selected = isset($nomMatiere_mat_t1)&&$row['nom']==$nomMatiere_mat_t1? " selected " : "";
				$listeMatieres_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";  
				//
				$selected = isset($nomMatiere_mat_t2)&&$row['nom']==$nomMatiere_mat_t2? " selected " : "";
				$listeMatieres_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				//
				$selected = isset($nomMatiere_amidi_t1)&&$row['nom']==$nomMatiere_amidi_t1? " selected " : "";
				$listeMatieres_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				//
				$selected = isset($nomMatiere_amidi_t2)&&$row['nom']==$nomMatiere_amidi_t2? " selected " : "";
				$listeMatieres_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
		}

//CONSULTATION D'ASSIDUITE

		//-------------------------------------
		// TRAITEMENT DES BOUTON D'ACTION
		//-------------------------------------
		$message = "";
		if (isset($_GET['action_nb_absence_date']) && !empty($idEtudiant) && !empty($date))
		{
				// CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UNE DATE
				$nombreheureabsence = 0;
				$sql = "SELECT * FROM `nbre_heures_absence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheureabsence = $row['nbre_heures_absence'];
				}
				$message = "	Nombre d'heures d'absence : " . $nombreheureabsence . "H";
		}
		//------------------------------------------
		if (isset($_GET['action_nb_presence_date']) && !empty($idEtudiant) && !empty($date))
		{
				// CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UNE DATE
				$nombreheurepresence = 0;
				$sql = "SELECT * FROM `nbre_heures_presence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheurepresence = $row['nbre_heures_presence'];
				}
				$message = "	Nombre d'heures de présence : " . $nombreheurepresence . "H";
		}
		//-----------------------------------------------
		if (isset($_GET['action_nb_absence_mois']) && !empty($idEtudiant) && !empty($date))
		{
				// CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UN MOIS
				$nombreheureabsencemois = 0;
				$sql = "SELECT * FROM `nb_heures_absence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheureabsencemois = $row['nbre_heures_absence'];
				}
				$message = "	Nombre d'heures d'absence du mois : " . $nombreheureabsencemois . "H";
		}

		//------------------------------------------
		if (isset($_GET['action_nb_presence_mois']) && !empty($idEtudiant) && !empty($date))
		{
				// CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UN MOIS
				$nombreheurepresencemois = 0;
				$sql = "SELECT * FROM `nb_heures_presence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheurepresencemois = $row['nbre_heures_presence'];
				}
				$message = "	Nombre d'heures de présence du mois : " . $nombreheurepresencemois . "H";
		}

		//------------------------------------------
		if (isset($_GET['action_total_absence']) && !empty($idEtudiant))
		{
				// CALCUL DU TOTAL D'ABSENCES D'UN Etudiant
				$totalheureabsence  = 0;
				$sql = "SELECT * FROM `total_heures_absence` WHERE idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$totalheureabsence = $row['nbre_heures_absence'];
				}
				$message = "	Total heures d'absence : " . $totalheureabsence . "H";
		}
		//-----------------------------------------------
		if (isset($_GET['action_total_presence']) &&  !empty($idEtudiant))
		{
				// CALCUL DU TOTAL DE PRESENCES D'UN Etudiant
				$totalheurepresence  = 0;
				$sql = "SELECT * FROM `total_heures_presence` WHERE idEtudiant = '". $idEtudiant. "' ";
				$result = mysql_query($sql) or die(mysql_error());

				if ($result)
				{
						$row = mysql_fetch_array($result);
						$totalheurepresence = $row['nbre_heures_presence'];
				}
				$message = "Total heures de présence : " . $totalheurepresence . "H";
		}
		//----------------------------------------------------

		if (isset($_GET['action_nb_absence_jour']) && !empty($idEtudiant))
		{
				// requête SQL: Nombre d'heures d'absence par jour pour l'élève $idEtudiant 
				$sql = "SELECT t1.* , t2.*  FROM  `nbre_heures_absence` t1  join `etudiant` t2 ON t1.idEtudiant=t2.idEtudiant
						   WHERE  t1.idEtudiant = '". $idEtudiant . "'   AND t1.nbre_heures_absence >0 ";

				$result = mysql_query($sql) or die(mysql_error());
				while ($result && $row = mysql_fetch_array($result))
				{
				   // afficher les heures d'absence de l'élève par jour
				 $message .= "<p>l'élève " . $row['nom']. " a été absent le : " . date('d M Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</p>";
			
				}
		}


//ATTESTATION

			


		//-------------------------------------
		// TRAITEMENT DES BOUTON D'ACTION
		//-------------------------------------
		$message1 = "";
		$message4 = "";
		$message5 = "";
		$message6 = "";
		$message7 = "";
		
		
		
		//------------------------------------------
		// attestation (nom etudiant, entreprise, nombre heure par mois, jours d'absences)
		if (isset($_GET['action_attestation']) && !empty($idEtudiant))
		{

			$sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise WHERE t1.idEtudiant='". $idEtudiant ."' ";
			$result = mysql_query($sql) or die(mysql_error());
			while($result && $row=mysql_fetch_array($result))
			{
				 // données élève utiles à l'attestation: etudiant, entreprise et classe
								$idEtudiant = $row['idEtudiant'];
								$nomEtudiant = $row['nom'];
								$prenomEtudiant = $row['prenom'];
								$civiliteEtudiant = $row['civilite'];
								$promotion = $row['promotion'];
								$idClasse = $row['idClasse'];
			}
						
			//afficher les heures d'absence/présence de l'élève par année et mois donnés
			$nombreheurepresencemois = 0;
			$nombreheureabsencemois = 0;
			
			if (isset($annee) && isset($mois)){
				$sql = "SELECT * FROM `nb_heures_presence_mois` WHERE annee = '".$annee."' AND mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
				//echo $sql;
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheurepresencemois = $row['nbre_heures_presence'];
				}
					   
				$sql = "SELECT * FROM `nb_heures_absence_mois` WHERE annee = '".$annee."' AND mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
				//echo $sql;
				$result = mysql_query($sql) or die(mysql_error());
				if ($result)
				{
						$row = mysql_fetch_array($result);
						$nombreheureabsencemois = $row['nbre_heures_absence'];
				}
				
			    // Détail des absences par jour	pour l'année et mois donnés	
				$sql = "SELECT *  FROM  `nbre_heures_absence` WHERE year(date) = '".$annee."' AND month(date) = '" . $mois . "'  AND   idEtudiant = '". $idEtudiant . "'   AND nbre_heures_absence >0 ";  
			//echo $sql;      
			$result = mysql_query($sql) or die(mysql_error());
			while ($result && $row = mysql_fetch_array($result))
			{
				   // afficher les heures d'absence de l'élève par jour
				 $message1 .=  "<li>Le ". date('d', strtotime($row['date'])). " " .$tab_nomMois_FR[intval(date('m', strtotime($row['date'])))] . " " .date('Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</li>";
			}
			}
			//afficher l'attestation
			include("afficher_attestation.php");
			exit;			
		}

		
//ETUDIANT 

	//LISTE DES ÉLÈVES
		// remplissage de la liste des élèves pour l'année sélectionnée
		$listeDesEtudiants = "";
		if (!empty($annee)){
			$sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise WHERE t1.promotion LIKE '%-". $annee ."%' OR t1.promotion LIKE '%". $annee ."-%'"; //promotion comme: $annee-9999 ou 9999-$annee
			//echo $sql;
			$result = mysql_query($sql) or die(mysql_error());
			while($result && $row=mysql_fetch_array($result))
			{
				$selected = isset($idEtudiant)&&$row['idEtudiant']==$idEtudiant? " selected " : "";
				$listeDesEtudiants .= "<option value=\"".$row['idEtudiant']."\" ".$selected." >".$row['nom']."</option>";
			}
		}

 
		
	// LISTE DES ÉLÈVES DE LA CLASSE SÉLECTIONNÉE
		$listeAssiduiteEtudiants = "";
		if (isset($idClasse) && isset($date))
		{
				// on fait une jointure externe à gauche du côté de la table client vers la table assiduité
				// pour afficher tous les étudiants de la classe même si les données de présence sont NULL (cas nouvelle saisie)
				$sql = "SELECT a.*, total_ha.*, e.*
				FROM etudiant e LEFT OUTER JOIN assiduite a ON e.idEtudiant=a.idEtudiant AND a.date=date('".$date."')
				LEFT OUTER JOIN total_heures_absence total_ha ON e.idEtudiant=total_ha.idEtudiant
				WHERE e.idClasse = '".$idClasse."'
				ORDER BY e.nom, e.prenom";
				//echo $sql;
				$result = mysql_query($sql) or die(mysql_error());
				while($result && $row=mysql_fetch_array($result))
				{              
						// si les données d'assiduité sont NULL (surtout la date) alors il s'agit d'une nouvelle feuille de présence
						// sinon affiche l'absence sous 4 tranches horaires : 2 le matin(mat_t1 et mat_t2) et 2 l'après-midi(amidi_t1 et amidi_t2)
						if (is_null($row["date"])) $mode_ajout = true; else $mode_ajout = false;
						// stat du total des nbre_heures_absence
						$nbre_heures_absence = $row['nbre_heures_absence'];
						//
						$nomProf_mat_t1 = $row['nomProf_mat_t1'];
						$nomProf_mat_t2 = $row['nomProf_mat_t2'];
						$nomProf_amidi_t1 = $row['nomProf_amidi_t1'];
						$nomProf_amidi_t2 = $row['nomProf_amidi_t2'];
						//
						$nomMatiere_mat_t1 = $row['nomMatiere_mat_t1'];
						$nomMatiere_mat_t2 = $row['nomMatiere_mat_t2'];
						$nomMatiere_amidi_t1 = $row['nomMatiere_amidi_t1'];
						$nomMatiere_amidi_t2 = $row['nomMatiere_amidi_t2'];
						//
						$mat_t1_checked = $row['presence_mat_t1']!=1 && !is_null($row['presence_mat_t1']) ? " checked " : "";
						$mat_t2_checked = $row['presence_mat_t2']!=1 && !is_null($row['presence_mat_t2']) ? " checked " : "";
						$amidi_t1_checked = $row['presence_amidi_t1']!=1 && !is_null($row['presence_amidi_t1']) ? " checked " : "";
						$amidi_t2_checked = $row['presence_amidi_t2']!=1 && !is_null($row['presence_amidi_t2']) ? " checked " : "";
						//
						$listeAssiduiteEtudiants .= "<tr><td>".$row['nom']." ".$row['prenom']."</td>
						<td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t1]\" ".$mat_t1_checked." /> Absent(e)</td>
						<td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t2]\" ".$mat_t2_checked." /> Absent(e)</td>
						<td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t1]\" ".$amidi_t1_checked." /> Absent(e)</td>
						<td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t2]\" ".$amidi_t2_checked." /> Absent(e)</td>
						<td>" . $nbre_heures_absence . "</td></tr>";
				}
		}
		
	//MODIFICATION ETUDIANT

		 // rechercher les données de l'élève choisi dans la liste
		if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEtudiant))
		{
		   $message = "";
		   $sql = "SELECT * FROM etudiant WHERE idEtudiant ='" . $idEtudiant . "' ";
		   $result = mysql_query($sql) or die(mysql_error());
		   if ($result && $row=mysql_fetch_array($result))
		   {
				// affectation des données de l'élève dans les variables du formulaire
				
				$civilite = $row['civilite'];
				$nom = $row['nom'];
				$prenom = $row['prenom'];
				$idClasse =$row['idClasse'];
				$annee =$row['annee'];
				$promotion =$row['promotion'];
				$redoublement =$row['redoublement'];
				$adresse = $row['adresse'];
				$code_postal = $row['code_postal'];
				$ville = $row['ville'];
				$portable = $row['portable'];
				$mail = $row['mail'];
				$date_de_naissance = $row['date_de_naissance'];
			   // .... Ajouter les autres champs de l'élève ....
		   }
		  else { $message = "<p>Elève non trouvé</p>"; }
		}
				
				
		// modifier un Etudiant
		if (isset($_GET['action']) && $_GET['action']=='modifier'&& !empty($idEtudiant))
		{
					
			//
			$message = "";
			if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
			if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
			if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
			if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
			if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
			if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";
					
			if (empty($message))
			{
				 $sql = "UPDATE etudiant SET civilite = '".$civilite."',nom = '".$nom."', prenom = '".$prenom."', idClasse = '".$idClasse."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', portable = '".$portable."', mail = '".$mail."', date_de_naissance = '".$date_de_naissance."', idEntreprise = '".$idEntreprise."' WHERE idEtudiant=" . $idEtudiant;
					  
					
			   $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Modification effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}	
				
	//AJOUTER ETUDIANT

			// enregistrer la saisie du formulaire
		if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
		{
			//
			$message = "";
			if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
			if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
			if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
			if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
			if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
			if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";

			
			if (empty($message))
			{
			  $sql = 'INSERT INTO etudiant (civilite, nom, prenom, idClasse, annee, promotion, redoublement, adresse, code_postal, ville, portable, mail, date_de_naissance, idEntreprise) VALUES ("'.$civilite.'","'.$nom.'", "'.$prenom.'", "'.$idClasse.'","'.$annee.'","'.$promotion.'","'.$redoublement.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$portable.'", "'.$mail.'", "'.$date_de_naissance.'", "'.$idEntreprise.'")'; 
			  
			  $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}	
		
	// SUPPRIMER UN ETUDIANT
		if (isset($_GET['action']) && $_GET['action']=='supprimer' && !empty($idEtudiant))
		{
			$message = "";
			if (empty($message))
			{
			$sql = 'DELETE FROM Etudiant WHERE idEtudiant="' . $idEtudiant . '" ';
			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}
		
		
//ENTREPRISE
		
	// LISTE DES ENTREPRISE
				$listeEntreprises = "";
				$sql = "SELECT * FROM entreprise";
				$result = mysql_query($sql) or die(mysql_error());
				while($result && $row=mysql_fetch_array($result))
				{
					$selected = isset($idEntreprise)&&$row['idEntreprise']==$idEntreprise? " selected " : "";
					$listeEntreprises .= "<option value=\"".$row['idEntreprise']."\" ".$selected." >".$row['nom_entr']."</option>";
				}
				

	//AJOUT ENTREPRISE

		// enregistrer la saisie du formulaire
		if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
		{
			//
			$message = "";
			if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
			if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
			if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
			if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
			if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";

			
			if (empty($message))
			{
			  $sql = 'INSERT INTO entreprise (nom_entr, adresse, code_postal, ville, tel, mail, Tuteur) VALUES ("'.$nom_entr.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$tel.'", "'.$mail.'", "'.$Tuteur.'")'; 
			  
			  $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}				
		
	// MODIFICATION ENTREPRISE

		// rechercher les données de l'entreprise choisi dans la liste
		if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEntreprise))
		{
		   $message = "";
		   $sql = "SELECT * FROM entreprise WHERE idEntreprise ='" . $idEntreprise . "' ";
		   $result = mysql_query($sql) or die(mysql_error());
		   if ($result && $row=mysql_fetch_array($result))
		   {
				// affectation des données de l'entreprise dans les variables du formulaire
				
				$nom_entr = $row['nom_entr'];
				$adresse = $row['adresse'];
				$code_postal = $row['code_postal'];
				$ville = $row['ville'];
				$tel = $row['tel'];
				$mail = $row['mail'];
				$Tuteur = $row['Tuteur'];
			   // .... Ajouter les autres champs de l'entreprise ....
		   }
		  else { $message = "<p>Entreprise non trouvé</p>"; }
		}
		

		
		// modifier une Entreprise
		if (isset($_GET['action']) && $_GET['action']=='modifier'&& !empty($idEntreprise))
		{
			
			//
			$message = "";
			if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
			if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
			if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
			if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
			if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";
			
			if (empty($message))
			{
			  $sql = "UPDATE entreprise SET nom_entr = '".$nom_entr."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', tel = '".$tel."', mail = '".$mail."', Tuteur = '".$Tuteur."' WHERE idEntreprise=" . $idEntreprise;
			  
			
			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Modification effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}		
		
	//SUPPRIMER ENTREPRISE
	
		if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($idEntreprise))
		{
			//
			$message = "";
			if (empty($message))
			{
			$sql = 'DELETE FROM entreprise WHERE idEntreprise="' . $idEntreprise . '" ';		
			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}	
	
//PROFS
		
	//LISTE DES PROFS
				$listeDesProfs = "";
				$sql = "SELECT * FROM prof";
				$result = mysql_query($sql) or die(mysql_error());
				while($result && $row=mysql_fetch_array($result))
				{
					$selected = isset($nom_prof)&&$row['nom']==$nom_prof? " selected " : "";
					$listeDesProfs .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				}
				
				
	//AJOUTER PROFS
	
		// enregistrer la saisie du formulaire
		if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
		{
			//
			$message = "";
			if (empty($nom_prof)) $message .= "<p>Le nom est obligatoire !</p>";
			if (empty($message))
			{
			  $sql = 'INSERT INTO prof (nom) VALUES ("'.$nom_prof.'")'; 
			  
			  $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}
	//SUPPRIMER PROFS

		if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($nom_prof))
		{
			//
			$message = "";
			if (empty($message))
			{
			$sql = 'DELETE FROM prof WHERE nom="' . $nom_prof . '" ';		  
			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}		
//MATIERES		

	//LISTE DES MATIÈRES
		$listeDesMatieres = "";
				$sql = "SELECT * FROM matiere";
				$result = mysql_query($sql) or die(mysql_error());
				while($result && $row=mysql_fetch_array($result))
				{
						$selected = isset($nom_mat)&&$row['nom']==$nom_mat? " selected " : "";
						$listeDesMatieres .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
				}
				
		


	//AJOUTER MATIERE

	// enregistrer la saisie du formulaire
		if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
		{
			//
			$message = "";
			if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
			if (empty($message))
			{
			  $sql = 'INSERT INTO matiere (nom) VALUES ("'.$nom.'")'; 
			  
			  			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}
		
	//SUPPRIMER MATIERE
		if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($nom_mat))
		{
			//
			$message = "";
			if (empty($message))
			{
			$sql = 'DELETE FROM matiere WHERE nom="' . $nom_mat . '" ';		
			$result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			//echo $sql;
			}
			if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";	   
		}	
		
		
//FIN DE CONNEXION
		mysql_close();
				
?>

variable.php : (j'ai essayé de réorganiser les variables déclarées dans ce module et d'en renommer certaines pour que l'attestation fonctionne, je te conseille de faire de même pour les autres variables comme j'ai suggéré plus haut)
<?php
	// variable pour savoir s'il faut créer une nouvelle absence ou modifier une existante
	$mode_ajout = isset($_GET['mode_ajout']) ? $_GET['mode_ajout'] : null;
	$idEtudiant = isset($_GET['idEtudiant']) ? $_GET['idEtudiant'] : null;
	$civilite = isset($_GET['civilite']) ? $_GET['civilite'] : null;
	$nom_entr = isset($_GET['nom_entr']) ? $_GET['nom_entr'] : null;
	$nom = !empty($_GET['nom'])? $_GET['nom'] : null;
	$idClasse = isset($_GET['idClasse']) ? $_GET['idClasse'] : null;
	$prenom = isset($_GET['prenom']) ? $_GET['prenom'] : null;
	$adresse = isset($_GET['adresse']) ? $_GET['adresse'] : null;
	$code_postal = isset($_GET['code_postal']) ? $_GET['code_postal'] : null;
	$ville = isset($_GET['ville']) ? $_GET['ville'] : null;
	$portable = isset($_GET['portable']) ? $_GET['portable'] : null;
	$mail = isset($_GET['mail'])? $_GET['mail'] : null;
	$tel = isset($_GET['tel']) ? $_GET['tel'] : null;
	$Tuteur = isset($_GET['Tuteur']) ? $_GET['Tuteur'] : null;
	$promotion = isset($_GET['promotion']) ? $_GET['promotion'] : null;
	$redoublement = isset($_GET['redoublement']) ? $_GET['redoublement'] : null;
	$date_de_naissance = isset($_GET['date_de_naissance']) ? $_GET['date_de_naissance'] : null;
	$idEntreprise = isset($_GET['idEntreprise'])? $_GET['idEntreprise'] : null;
	
	$nomProf_mat_t1 = isset($_GET['nomProf_mat_t1']) ? $_GET['nomProf_mat_t1'] : null;
	$nomProf_mat_t2 = isset($_GET['nomProf_mat_t2']) ? $_GET['nomProf_mat_t2'] : null;
	$nomProf_amidi_t1 = isset($_GET['nomProf_amidi_t1']) ? $_GET['nomProf_amidi_t1'] : null;
	$nomProf_amidi_t2 = isset($_GET['nomProf_amidi_t2']) ? $_GET['nomProf_amidi_t2'] : null;
	 
	$nomMatiere_mat_t1 = isset($_GET['nomMatiere_mat_t1']) ? $_GET['nomMatiere_mat_t1'] : null;
	$nomMatiere_mat_t2 = isset($_GET['nomMatiere_mat_t2']) ? $_GET['nomMatiere_mat_t2'] : null;
	$nomMatiere_amidi_t1 = isset($_GET['nomMatiere_amidi_t1']) ? $_GET['nomMatiere_amidi_t1'] : null;
	$nomMatiere_amidi_t2 = isset($_GET['nomMatiere_amidi_t2']) ? $_GET['nomMatiere_amidi_t2'] : null;
	
	$date = isset($_GET['date'])? $_GET['date'] : null;
	$annee = isset($_GET['annee'])? $_GET['annee'] : null;
	$mois = isset($_GET['mois']) ? $_GET['mois'] : null;
	
	$tab_nomMois_FR = array(1=>'Janvier',2=>'Février',3=>'Mars',4=>'Avril',5=>'Mai',6=>'Juin',7=>'Juillet',8=>'Août',9=>'Septembre',10=>'Octobre',11=>'Novembre',12=>'Décembre');
	$nomMois = isset($tab_nomMois_FR[$mois])?$tab_nomMois_FR[$mois]:null;
?>
Pour la base de données je n'ai modifié que 2 vues, pour prendre en concidération l'année en plus du mois dans le regroupement des calculs d'heures :

`nb_heures_absence_mois`
CREATE VIEW `nb_heures_absence_mois` AS select year(`assiduite`.`date`) AS `annee`,month(`assiduite`.`date`) AS `mois`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum((8 - ((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2)))) AS `nbre_heures_absence` from `assiduite` group by year(`assiduite`.`date`),month(`assiduite`.`date`),`assiduite`.`idEtudiant`;

`nb_heures_presence_mois`
CREATE VIEW `nb_heures_presence_mois` AS select year(`assiduite`.`date`) AS `annee`,month(`assiduite`.`date`) AS `mois`,`assiduite`.`idEtudiant` AS `idEtudiant`,sum(((((`assiduite`.`presence_mat_t1` * 2) + (`assiduite`.`presence_mat_t2` * 2)) + (`assiduite`.`presence_amidi_t1` * 2)) + (`assiduite`.`presence_amidi_t2` * 2))) AS `nbre_heures_presence` from `assiduite` group by year(`assiduite`.`date`),month(`assiduite`.`date`),`assiduite`.`idEtudiant`;
Voilà, bonne chance.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 mai 2011, 15:33

Pour le schéma de la base de données, il faut utiliser un outil de conception comme AMCDesigner (payant) ou MYSQL Workbench (gratuit) téléchargeable ici
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

24 mai 2011, 16:27

Merci c'est super cool ce que t'as fait.et oui tu as raison il faut que je modifie les variables mais c'était plus simple vu que c'était les mêmes partout.(fainéantise quand tu nous tient.lol.)

sinon ça ne résout pas le problème de : j'aimerais pouvoir afficher que les étudiants de 1ère ou 2ème année ou ancien étudiants;car comme sa cela règle la question d'archivage, comme ça je passe les étudiant en ancien et il n'apparaisse plus
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

24 mai 2011, 16:59

Pour le schéma de la base de données, il faut utiliser un outil de conception comme AMCDesigner (payant) ou MYSQL Workbench (gratuit) téléchargeable ici
d'accord mais est ce qu'il reprend directement ce qu'il y a dans ma base ou je dois tout rerentré?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 mai 2011, 20:18

Oui Oui, il peut schématiser automatiquement une base de données MySQL existante. Cette opération est appelée "reverse engineering" (rétro-conception) tu trouveras cette commande dans le menu "Database" ou CTRL+R, tu paramètre ta connexion avec ton serveur MYSQL et tu suis l'assistant de création du schéma de la base de données que tu vas sélectionné.

Pour la question des années (niveau de formation) 1°année, 2°année, ancien ... tu peux remplir une liste avec ces valeurs qui proviennent de la table "Etudiant" champ "annee" avec un select distinct.
En suite, tu ajoute dans la clause where de la requête qui remplie la liste des étudiants la condition sur le champ annee = '$annee_niveau'.

Variables concernées:
       $annee = isset($_GET['annee'])? $_GET['annee'] : null;
        $mois = isset($_GET['mois']) ? $_GET['mois'] : null;
       
        $tab_nomMois_FR = array(1=>'Janvier',2=>'Février',3=>'Mars',4=>'Avril',5=>'Mai',6=>'Juin',7=>'Juillet',8=>'Août',9=>'Septembre',10=>'Octobre',11=>'Novembre',12=>'Décembre');
        $nomMois = isset($tab_nomMois_FR[$mois])?$tab_nomMois_FR[$mois]:null;
		$anneeNiveau = isset($_GET['anneeNiveau'])? $_GET['anneeNiveau'] : null;
Remplissage des listes concernées :
* liste des années : 2008, 2009, 2010, ...
* liste des mois en français : Janvier, Février, ...
* liste des années de niveau : 1°année, 2°année, ancien ...
* liste des étudiants sélectionnés par année de niveau d'étude et par année de promotion (à propos: j'ai modifié la façon de détecter la promotion adéquate)
//LISTES
                // remplissage de la liste des élèves pour l'année sélectionnée
                $listeDesEtudiants = "";
                if (!empty($annee)){
                        $sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise 
						WHERE t1.annee='".$anneeNiveau."' 
						AND ". $annee ." BETWEEN SUBSTRING_INDEX(t1.promotion, '-', +1) AND SUBSTRING_INDEX(t1.promotion, '-', -1) "; 
						//pour detecter l'année de formation: $annee doit être comprise entre les 2 années du champ promotion
                        //echo $sql;
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idEtudiant)&&$row['idEtudiant']==$idEtudiant? " selected " : "";
                                $listeDesEtudiants .= "<option value=\"".$row['idEtudiant']."\" ".$selected." >".$row['nom']."</option>";
                        }
                }

                // crée la liste des AnneesNiveau
                $listeAnneesNiveau = "";
                $sql = "SELECT DISTINCT annee FROM Etudiant ORDER BY annee;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($anneeNiveau)&&$row['annee']==$anneeNiveau? " selected " : "";
                                $listeAnneesNiveau .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               

                // crée la liste des Annees
                $listeAnnees = "";
                $sql = "SELECT DISTINCT Year(date) as annee FROM assiduite ORDER BY Year(date);";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($annee)&&$row['annee']==$annee? " selected " : "";
                                $listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               
                // crée la liste des mois d'une année donnée
                $listeMois = "";
                if (isset($annee)){
                        $sql = "SELECT DISTINCT Month(date) as mois FROM assiduite WHERE Year(date)=".$annee." ORDER BY Month(date);";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($mois)&&$row['mois']==$mois? " selected " : "";
                                $listeMois .= "<option value=\"".$row['mois']."\" ".$selected." >".$tab_nomMois_FR[$row['mois']]."</option>";
                        }
                }
               
              
                // crée la liste des classes
                $listeClasses = "";
                $sql = "SELECT DISTINCT idClasse FROM etudiant ORDER BY idClasse;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                }
 
Et finalement le rendu HTML, où la liste des années de niveau d'étude est ajoutée au formulaire:
<?php
include ("menu.php");
include ("variable.php");
include ("fonction.php");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestion d'assiduité des élèves</title>
       
</head>
<body>
<div class="main2">
<h1>Consultation d'assiduité des élèves</h1>

<div id='feuille_absence'>
<form name="form1">
<table>
<tr>
<th>Année :&nbsp;&nbsp;
<select name="annee" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnnees; ?>
</select>
</th>
<th>Mois :&nbsp;&nbsp;
        <select name="mois" onChange="form1.submit();" >
        <option value="" ></option>
        <?php echo $listeMois; ?>
        </select>
</th>
</tr>
<tr>
<th>Année d'étude :&nbsp;&nbsp;
<select name="anneeNiveau" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnneesNiveau; ?>
</select>
</th>
<th>
</th>
</tr>
<tr>
<th>
Etudiant :&nbsp;&nbsp;      
        <select name="idEtudiant" >
        <option value="" >
        </option>
        <?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
        </select>
</th>
<th>
        <br/>
        <input type="submit" name="action_attestation" value="Total absences">
        <br /><br />          
</th>
 </tr>  
</table>
</form>
<div id="messag"><?php echo isset($message2)?$message2:''; ?></div>
<br/><br/>
                       
</div>
     
</div>
</body>
</html>
J'ai aussi une mise à jour importante que j'ai oublié d'apporter dans le fichier "menu.php", la voici :
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("", "Impression", "height=50, width=400,toolbar=0, menubar=0, scrollbars=0, resizable=0,status=0, location=0, left=0, top=0");
Dans la version que je t'ai affiché auparavant, il y a une URL d'une page HTML que j'ai mis dans le premier paramètre de la méthode window.open(...) pour un test et que j'ai oublié, il suffit d'effacer le nom de la page HTML désigné et de mettre "" comme dans la mise à jour.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

24 mai 2011, 21:44

oula doucement lol!!ben si des fois je n'est pas eu de réponse dans la journée la j'ai deux réponse et vraiment très bonne en deux jours!!encore Merci!!c'est du très bon travail.D'ailleur c'est ça ton travail?
Oui Oui, il peut schématiser automatiquement une base de données MySQL existante. Cette opération est appelée "reverse engineering" (rétro-conception) tu trouveras cette commande dans le menu "Database" ou CTRL+R, tu paramètre ta connexion avec ton serveur MYSQL et tu suis l'assistant de création du schéma de la base de données que tu vas sélectionné.
ok j'ai vu un tuto j'essayerai demain car il est tout en anglais et a l'air pas très facile a utiliser.
Pour la question des années (niveau de formation) 1°année, 2°année, ancien ... tu peux remplir une liste avec ces valeurs qui proviennent de la table "Etudiant" champ "annee" avec un select distinct.
En suite, tu ajoute dans la clause where de la requête qui remplie la liste des étudiants la condition sur le champ annee = '$annee_niveau'.
D'ailleurs tu peux me dire a quoi sert le "distinct "?
Variables concernées:
       $annee = isset($_GET['annee'])? $_GET['annee'] : null;
        $mois = isset($_GET['mois']) ? $_GET['mois'] : null;
       
        $tab_nomMois_FR = array(1=>'Janvier',2=>'Février',3=>'Mars',4=>'Avril',5=>'Mai',6=>'Juin',7=>'Juillet',8=>'Août',9=>'Septembre',10=>'Octobre',11=>'Novembre',12=>'Décembre');
        $nomMois = isset($tab_nomMois_FR[$mois])?$tab_nomMois_FR[$mois]:null;
		$anneeNiveau = isset($_GET['anneeNiveau'])? $_GET['anneeNiveau'] : null;
Remplissage des listes concernées :
* liste des années : 2008, 2009, 2010, ...
* liste des mois en français : Janvier, Février, ...
* liste des années de niveau : 1°année, 2°année, ancien ...
* liste des étudiants sélectionnés par année de niveau d'étude et par année de promotion (à propos: j'ai modifié la façon de détecter la promotion adéquate)
//LISTES
                // remplissage de la liste des élèves pour l'année sélectionnée
                $listeDesEtudiants = "";
                if (!empty($annee)){
                        $sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise 
						WHERE t1.annee='".$anneeNiveau."' 
						AND ". $annee ." BETWEEN SUBSTRING_INDEX(t1.promotion, '-', +1) AND SUBSTRING_INDEX(t1.promotion, '-', -1) "; 
						//pour detecter l'année de formation: $annee doit être comprise entre les 2 années du champ promotion
                        //echo $sql;
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idEtudiant)&&$row['idEtudiant']==$idEtudiant? " selected " : "";
                                $listeDesEtudiants .= "<option value=\"".$row['idEtudiant']."\" ".$selected." >".$row['nom']."</option>";
                        }
                }

                // crée la liste des AnneesNiveau
                $listeAnneesNiveau = "";
                $sql = "SELECT DISTINCT annee FROM Etudiant ORDER BY annee;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($anneeNiveau)&&$row['annee']==$anneeNiveau? " selected " : "";
                                $listeAnneesNiveau .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               

                // crée la liste des Annees
                $listeAnnees = "";
                $sql = "SELECT DISTINCT Year(date) as annee FROM assiduite ORDER BY Year(date);";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($annee)&&$row['annee']==$annee? " selected " : "";
                                $listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               
                // crée la liste des mois d'une année donnée
                $listeMois = "";
                if (isset($annee)){
                        $sql = "SELECT DISTINCT Month(date) as mois FROM assiduite WHERE Year(date)=".$annee." ORDER BY Month(date);";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($mois)&&$row['mois']==$mois? " selected " : "";
                                $listeMois .= "<option value=\"".$row['mois']."\" ".$selected." >".$tab_nomMois_FR[$row['mois']]."</option>";
                        }
                }
               
              
                // crée la liste des classes
                $listeClasses = "";
                $sql = "SELECT DISTINCT idClasse FROM etudiant ORDER BY idClasse;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                }
 
Et finalement le rendu HTML, où la liste des années de niveau d'étude est ajoutée au formulaire:
<?php
include ("menu.php");
include ("variable.php");
include ("fonction.php");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestion d'assiduité des élèves</title>
       
</head>
<body>
<div class="main2">
<h1>Consultation d'assiduité des élèves</h1>

<div id='feuille_absence'>
<form name="form1">
<table>
<tr>
<th>Année :&nbsp;&nbsp;
<select name="annee" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnnees; ?>
</select>
</th>
<th>Mois :&nbsp;&nbsp;
        <select name="mois" onChange="form1.submit();" >
        <option value="" ></option>
        <?php echo $listeMois; ?>
        </select>
</th>
</tr>
<tr>
<th>Année d'étude :&nbsp;&nbsp;
<select name="anneeNiveau" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnneesNiveau; ?>
</select>
</th>
<th>
</th>
</tr>
<tr>
<th>
Etudiant :&nbsp;&nbsp;      
        <select name="idEtudiant" >
        <option value="" >
        </option>
        <?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
        </select>
</th>
<th>
        <br/>
        <input type="submit" name="action_attestation" value="Total absences">
        <br /><br />          
</th>
 </tr>  
</table>
</form>
<div id="messag"><?php echo isset($message2)?$message2:''; ?></div>
<br/><br/>
                       
</div>
     
</div>
</body>
</html>
J'ai aussi une mise à jour importante que j'ai oublié d'apporter dans le fichier "menu.php", la voici :
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("", "Impression", "height=50, width=400,toolbar=0, menubar=0, scrollbars=0, resizable=0,status=0, location=0, left=0, top=0");
Dans la version que je t'ai affiché auparavant, il y a une URL d'une page HTML que j'ai mis dans le premier paramètre de la méthode window.open(...) pour un test et que j'ai oublié, il suffit d'effacer le nom de la page HTML désigné et de mettre "" comme dans la mise à jour.

et je ne peux pas reprendre une des liste pour faire directement la liste des étudiant avec leur année (de bts (1ere ou 2eme ou autres)) pour "consultation_assiduité.php" et ma "formassiduite.php" et aussi une liste des classe (bts ag, bts muc) par année (idem)

d'ailleur il faut tout que je recode pour faire un enregistrement des absences mais pour un seul étudiant ( c'est pour cela que je veux faire une liste d'étudiant en choississant leur année de bts
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 mai 2011, 23:16

D'ailleur c'est ça ton travail?
Moi je suis formateur. lol
D'ailleurs tu peux me dire a quoi sert le "distinct "?
Le modificateur DISTINCT dans un SELECT permet de sélectionner des enregistrements sans doublons de valeurs. C'est à dire quand tu fais:
SELECT DISTINCT annee FROM Etudiant
Le résultat de cette requête te retourne la liste des valeurs du champ 'annee' sans les doublons. Dans notre cas le résultat sera : 1ière Ann, 2iem Ann, Ancien élève. Même si ces valeurs se retrouvent en double dans la table 'Etudiant' et ça c'est grâce au DISTINCT.

et je ne peux pas reprendre une des liste pour faire directement la liste des étudiant avec leur année (de bts (1ere ou 2eme ou autres)) pour "consultation_assiduité.php" et ma "formassiduite.php" et aussi une liste des classe (bts ag, bts muc) par année (idem)

d'ailleur il faut tout que je recode pour faire un enregistrement des absences mais pour un seul étudiant ( c'est pour cela que je veux faire une liste d'étudiant en choississant leur année de bts
En fait moi je ne sais pas vraiment comment tu veux représenter tes champs et listes déroulantes dans les différents formulaires que tu gères, je me contente de t'ouvrir l'esprit sur quelques techniques pour traiter certains cas d'interrogation de la base avec SQL et d'interaction avec les formulaires.
Je te conseille vivement d'abord de séparer les formulaires et leurs traitements spécifiques (html, variables, code php et SQL) dans des fichiers séparés à fin de maitriser l'avancement de chaque module à part. Ainsi tu n'auras plus de problèmes et confusions entre les différentes listes, champs, variables et traitements PHP.

Voici des cours très intéressants sur PHP/MySQL : http://www.siteduzero.com/tutoriel-3-14 ... mysql.html
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

25 mai 2011, 00:43

Je t'explique tout ça mieux demain.avec l html tu vas mieux comprendre!
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

25 mai 2011, 08:40

voila le code de formassiduite.php (je sais pas si j'avais déjà envoyer où il y a les deux tableaux :
<?php
include ("menu.php"); 
include ("variable.php"); 
include ("fonction.php");
//$mois =  date_format(date_create($date), "m"); // extrait le mois de $date 
?>

<html>
<head>
<title>Gestion d'assiduité des élèves</title>
</head>
<body>
		<div class="main2">
			<h1>Gestion d'assiduité des élèves</h1>
<br/><b><FONT color="red" size="4"><u>Par Classe</u> :</font></b><br/><br/>			<div id='feuille_absence'>
				<form name="form1" action="" method="get">
				<table>
				<tr>
				<th>
				Année :</th><td><select name="annee" onChange="form1.submit();" value="<?php echo $annee; ?>" >
				<option value="" ></option>
				<?php echo $listeAnnees; ?>
				</select></td>
				
				<th>Classe :</th><td><select name="idClasse" onChange="form1.submit();" value="<?php echo $idClasse; ?>" >
				<option value="" ></option>
				<?php echo $listeClasses; ?>
				</select></td>

				<th>&nbsp;&nbsp;&nbsp;Date : </th><td><input type="text" id="dateLib" name="date" value="<?php echo $date; ?>" style="width:180px"
						onfocus="visuCal(this,paramLib)" onBlur="masqueCal(this);"  />
								&nbsp;&nbsp;&nbsp;<input type="submit" name="action" value="Valider la date" />
								</td>
				</tr>
				</table>
				<hr />
				<?php if ($mode_ajout==true) { ?>
			
				<h2>Nouvelle Feuille de présence du <?php echo $date; ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Pour ajouter cette feuille dans la base de données, appuyer sur le bouton Enregistrer</p>
				<?php } else { ?>
				<h2>Feuille de présence existante du <?php echo $date; ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Vous pouvez modifier cette feuille puis appuyer sur le bouton Enregistrer pour mettre à jour la base de données.</p>
				<?php } ?>
				<table border="1">
				<tr>
					<th width="82">Nom - Prenom</th>
					<th width="66">8h00 - 10h00</th>
					<th width="73">10h00 - 12h00</th>
					<th width="73">13h30 - 15h30</th>
					<th width="73">15h30 - 17h30</th>
			<th width="94">Total heures d'absences</th>
				</tr>
				<?php echo $listeAssiduiteEtudiants; ?>
				<tr>
					<th>Prof : </th>
					<td><select name="nomProf_mat_t1" value="<?php echo $nomProf_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t1; ?>
					</select></td>
					<td><select name="nomProf_mat_t2" value="<?php echo $nomProf_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t2; ?>
					</select></td>
					<td><select name="nomProf_amidi_t1" value="<?php echo $nomProf_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t1; ?>
					</select></td>
					<td><select name="nomProf_amidi_t2" value="<?php echo $nomProf_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t2; ?>
					</select></td>
				</tr>
				<tr>
					<th>Matière : </th>
					<td><select name="nomMatiere_mat_t1" value="<?php echo $nomMatiere_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t1; ?>
					</select></td>
					<td><select name="nomMatiere_mat_t2" value="<?php echo $nomMatiere_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t2; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t1" value="<?php echo $nomMatiere_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t1; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t2" value="<?php echo $nomMatiere_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t2; ?>
					</select></td>
				</tr>
				</table>
			</div>
			<input type="hidden" name="mode_ajout" value="<?php echo $mode_ajout; ?>" />
			<input type="submit" name="action" value="Enregistrer" />
			<span class="marge"></span>
			<input type="submit" name="action" value="Exporter" />
			<input type="button" value="Imprimer" onClick="imprime_zone('feuille_absence');">
			</form>
			<div id="message"><?php echo isset($message)?$message:''; ?></div>


			<?php
					// Exportation de la feuille vers un fichier excel
					if (isset($_GET['action']) && $_GET['action']=='Exporter')
					{
							include("formAssiduite_Export.php");
					}
			?>
			
	
	
	<br/><br/><br/><br/><br/><br/><b><FONT color="red" size="4"><u>Par Etudiant</u> :</font></b><br/><br/>
			<form name="form1" action="" method="get">
				<table>
				<tr>
				<th>
				Année :</th><td><select name="annee" onChange="form1.submit();" value="<?php echo $annee; ?>" >
				<option value="" ></option>
				<?php echo $listeAnnees; ?>
				</select></td>
				
				<th>Etudiant :</th><td><select name="idEtudiant" onchange="form1.submit();" value="<?php echo isset($idEtudiant)?$idEtudiant:null; ?>" >
							<option value="" >
							</option>
							<?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
							</select></td>

				<th>&nbsp;&nbsp;&nbsp;Date : </th><td><input type="text" id="dateLib" name="date" value="<?php echo $date; ?>" style="width:180px"
						onfocus="visuCal(this,paramLib)" onBlur="masqueCal(this);"  />
								&nbsp;&nbsp;&nbsp;<input type="submit" name="action" value="Valider la date" />
								</td>
				</tr>
				</table>
				<hr />
				<?php if ($mode_ajout==true) { ?>
				<h2>Nouvelle Feuille de présence du <?php echo date("d-m-Y",strtotime($date)); ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Pour ajouter cette feuille dans la base de données, appuyer sur le bouton Enregistrer</p>
				<?php } else { ?>
				<h2>Feuille de présence existante du <?php echo date("d-m-Y",strtotime($date)); ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Vous pouvez modifier cette feuille puis appuyer sur le bouton Enregistrer pour mettre à jour la base de données.</p>
				<?php } ?>
				<table border="1">
				<tr>
					<th width="82">Nom - Prenom</th>
					<th width="66">8h00 - 10h00</th>
					<th width="73">10h00 - 12h00</th>
					<th width="73">13h30 - 15h30</th>
					<th width="73">15h30 - 17h30</th>
					<th width="73">Motif</th>
					<th width="94">Total heures d'absences</th>
				</tr>
				<?php echo $listeAssiduiteEtudiants; ?>
				<tr>
					<th>Prof : </th>
					<td><select name="nomProf_mat_t1" value="<?php echo $nomProf_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t1; ?>
					</select></td>
					<td><select name="nomProf_mat_t2" value="<?php echo $nomProf_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t2; ?>
					</select></td>
					<td><select name="nomProf_amidi_t1" value="<?php echo $nomProf_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t1; ?>
					</select></td>
					<td><select name="nomProf_amidi_t2" value="<?php echo $nomProf_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t2; ?>
					</select></td>
				</tr>
				<tr>
					<th>Matière : </th>
					<td><select name="nomMatiere_mat_t1" value="<?php echo $nomMatiere_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t1; ?>
					</select></td>
					<td><select name="nomMatiere_mat_t2" value="<?php echo $nomMatiere_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t2; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t1" value="<?php echo $nomMatiere_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t1; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t2" value="<?php echo $nomMatiere_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t2; ?>
					</select></td>
				</tr>
				</table>
		
			<input type="hidden" name="mode_ajout" value="<?php echo $mode_ajout; ?>" />
			<input type="submit" name="action" value="Enregistrer" />
			<span class="marge"></span>
			<input type="submit" name="action" value="Exporter" />
			<input type="button" value="Imprimer" onClick="imprime_zone('feuille_absence');">
			</form>
			<div id="message"><?php echo isset($message)?$message:''; ?></div>

		</div>
			<?php
					// Exportation de la feuille vers un fichier excel
					if (isset($_GET['action']) && $_GET['action']=='Exporter')
					{
							include("formAssiduite_Export.php");
					}
			?>
			
	</div>

	
</body>

</html>
Sinon pour la derniere version de l'attestation que tu m'as envoyer : Elle fonctionne niquel, par contre le problème est que il faudrait choisir le niveau d'études en premier et faire les requêtes d'après ce niveau d'étude car la si je choisis un mois et une année et que ensuite je choisis les étudiants et ben si l'étudiant n'a pas été présent du mois rien ne s'affiche et donc on ne peut pas savoir si il y a un beug ou pas.tendis que si on choisis le niveau d'études et ensuite on choisit le mois et l'année et la la liste d'étudiant se fera en 1er lieu par le niveau d'étude et la liste n'affichera que les étudiant qui ont été rentré pour ce mois ci de cette année.
M'as tu compris?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

25 mai 2011, 09:21

il y a un truc que je pige pas : ta requête pour lister les élèves suivant leur année d'étude fonctionne parfaitement dans mon attestation mais elle ne marche pas ailleurs...(dans consultation_assiduite.php et formassiduite.php)


consultation_assiduite.php :
<?php
include ("menu.php"); 
include ("variable.php"); 
require_once ("fonction_consultation.php");
$mois =  date_format(date_create($date), "m"); // extrait le mois de $date

include ("fonction.php");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestion d'assiduité des Etudiants</title>

	<script language="JavaScript">
                        function imprime_zone(obj)

                        {
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("", "", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");

                        // Définit le Style de la page
                        f.document.body.style.color = '#000000';
                        f.document.body.style.backgroundColor = '#FFFFFF';
                        f.document.body.style.padding = "10px";

                        // Affiche le contenu HTML de obj dans le body de la nouvelle fenêtre
                        f.document.body.innerHTML  = document.getElementById(obj).innerHTML;

                        // Imprime et ferme la fenêtre
                        f.window.print();
                        f.window.close();
                        return true;
                        }
                        </script>
</head>
<body>
			<br/><br/>
		<div class="main2">
			<h1>Consultation d'assiduité des Etudiants</h1>

			<div id='feuille_absence'>
				
			<form name="form1">
				<table>
					<tr>
						<th>
						
						&nbsp;&nbsp;&nbsp;&nbsp;Année d'étude :&nbsp;
						</th>
						<th>
							
					<select name="anneeNiveau" onChange="form1.submit();">
					<option value="" ></option>
					<?php echo $listeAnneesNiveau; ?>
					</select>
						</th>
					</tr>
					<tr>
						<th>
						&nbsp;&nbsp;&nbsp;&nbsp;Etudiant :&nbsp;
						</th>
						<th>
						
							 <select name="idEtudiant" >
							<option value="" >
							</option>
							<?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
							</select>
						</th>
						<th>
							<br/>
							<input type="submit" name="action_total_absence" value="Total absences">
							<br /><br />           
							<input type="submit" name="action_total_presence" value="Total présences">
							<br/><br/>
						</th>
						<th rowspan="2">
						<div id="message">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo isset($message)?$message:''; ?></div>
						</th>
					</tr>	
					<tr>
						<th>
							&nbsp;&nbsp;&nbsp;&nbsp;Date :&nbsp; 
						</th>
						<th>
							<br />
							&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="dateLib" name="date" value="<?php echo isset($date)?$date:null; ?>" style="width:180px"
								onfocus="visuCal(this,{'format' : '%j-%m-%a'})" onblur="masqueCal(this);"  />&nbsp;&nbsp;&nbsp;&nbsp;
							<br /><br /> 
						</th>
						<th> <br/>
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="action_nb_absence_mois" value="nb heures absences par mois">
							<br /><br />      
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="action_nb_presence_mois" value="nb heures présences par mois">
							<br /><br /> 
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="action_nb_absence_jour" value="Jours d'absences">

						</th>
					</tr>
				</table>
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="Imprimer" onClick="imprime_zone('feuille_absence');">

				
									
					
			</form>
			<br/><br/>
			
		</div>
	</div>
</body>

</html>
fonction.php : (modifier : enlever les grosses fonctions pour les mettre dans des fichiers a part comme tu m'as suggéré)
<?php
// Variables utilisées
include("variable.php");


//LISTES
		
                // remplissage de la liste des élèves pour l'année sélectionnée
                $listeDesEtudiants = "";
                if (!empty($annee)){
                        $sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise
                                                WHERE t1.annee='".$anneeNiveau."'
                                                AND ". $annee ." BETWEEN SUBSTRING_INDEX(t1.promotion, '-', +1) AND SUBSTRING_INDEX(t1.promotion, '-', -1) ";
                                                //pour detecter l'année de formation: $annee doit être comprise entre les 2 années du champ promotion
                        //echo $sql;
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idEtudiant)&&$row['idEtudiant']==$idEtudiant? " selected " : "";
                                $listeDesEtudiants .= "<option value=\"".$row['idEtudiant']."\" ".$selected." >".$row['nom']."</option>";
                        }
                }

                // crée la liste des AnneesNiveau
                $listeAnneesNiveau = "";
                $sql = "SELECT DISTINCT annee FROM Etudiant ORDER BY annee;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($anneeNiveau)&&$row['annee']==$anneeNiveau? " selected " : "";
                                $listeAnneesNiveau .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               

                // crée la liste des Annees
                $listeAnnees = "";
                $sql = "SELECT DISTINCT Year(date) as annee FROM assiduite ORDER BY Year(date);";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($annee)&&$row['annee']==$annee? " selected " : "";
                                $listeAnnees .= "<option value=\"".$row['annee']."\" ".$selected." >".$row['annee']."</option>";
                }
               
                // crée la liste des mois d'une année donnée
                $listeMois = "";
                if (isset($annee)){
                        $sql = "SELECT DISTINCT Month(date) as mois FROM assiduite WHERE Year(date)=".$annee." ORDER BY Month(date);";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($mois)&&$row['mois']==$mois? " selected " : "";
                                $listeMois .= "<option value=\"".$row['mois']."\" ".$selected." >".$tab_nomMois_FR[$row['mois']]."</option>";
                        }
                }
               
             
                // crée la liste des classes
                $listeClasses = "";
                $sql = "SELECT DISTINCT idClasse FROM etudiant ORDER BY idClasse;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                }
 
               
//ETUDIANT

        

 
               
        // LISTE DES ÉLÈVES DE LA CLASSE SÉLECTIONNÉE
                $listeAssiduiteEtudiants = "";
                if (isset($idClasse) && isset($date))
                {
                                // on fait une jointure externe à gauche du côté de la table client vers la table assiduité
                                // pour afficher tous les étudiants de la classe même si les données de présence sont NULL (cas nouvelle saisie)
                                $sql = "SELECT a.*, total_ha.*, e.*
                                FROM etudiant e LEFT OUTER JOIN assiduite a ON e.idEtudiant=a.idEtudiant AND a.date=date('".$date."')
                                LEFT OUTER JOIN total_heures_absence total_ha ON e.idEtudiant=total_ha.idEtudiant
                                WHERE e.idClasse = '".$idClasse."'
                                ORDER BY e.nom, e.prenom";
                                //echo $sql;
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {              
                                                // si les données d'assiduité sont NULL (surtout la date) alors il s'agit d'une nouvelle feuille de présence
                                                // sinon affiche l'absence sous 4 tranches horaires : 2 le matin(mat_t1 et mat_t2) et 2 l'après-midi(amidi_t1 et amidi_t2)
                                                if (is_null($row["date"])) $mode_ajout = true; else $mode_ajout = false;
                                                // stat du total des nbre_heures_absence
                                                $nbre_heures_absence = $row['nbre_heures_absence'];
                                                //
                                                $nomProf_mat_t1 = $row['nomProf_mat_t1'];
                                                $nomProf_mat_t2 = $row['nomProf_mat_t2'];
                                                $nomProf_amidi_t1 = $row['nomProf_amidi_t1'];
                                                $nomProf_amidi_t2 = $row['nomProf_amidi_t2'];
                                                //
                                                $nomMatiere_mat_t1 = $row['nomMatiere_mat_t1'];
                                                $nomMatiere_mat_t2 = $row['nomMatiere_mat_t2'];
                                                $nomMatiere_amidi_t1 = $row['nomMatiere_amidi_t1'];
                                                $nomMatiere_amidi_t2 = $row['nomMatiere_amidi_t2'];
                                                //
                                                $mat_t1_checked = $row['presence_mat_t1']!=1 && !is_null($row['presence_mat_t1']) ? " checked " : "";
                                                $mat_t2_checked = $row['presence_mat_t2']!=1 && !is_null($row['presence_mat_t2']) ? " checked " : "";
                                                $amidi_t1_checked = $row['presence_amidi_t1']!=1 && !is_null($row['presence_amidi_t1']) ? " checked " : "";
                                                $amidi_t2_checked = $row['presence_amidi_t2']!=1 && !is_null($row['presence_amidi_t2']) ? " checked " : "";
                                                //
                                                $listeAssiduiteEtudiants .= "<tr><td>".$row['nom']." ".$row['prenom']."</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t1]\" ".$mat_t1_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][mat_t2]\" ".$mat_t2_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t1]\" ".$amidi_t1_checked." /> Absent(e)</td>
                                                <td><input type=\"checkbox\" name=\"absences[".$row['idEtudiant']."][amidi_t2]\" ".$amidi_t2_checked." /> Absent(e)</td>
                                                <td>" . $nbre_heures_absence . "</td></tr>";
                                }
                }
               
        //MODIFICATION ETUDIANT

                 // rechercher les données de l'élève choisi dans la liste
                if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEtudiant))
                {
                   $message = "";
                   $sql = "SELECT * FROM etudiant WHERE idEtudiant ='" . $idEtudiant . "' ";
                   $result = mysql_query($sql) or die(mysql_error());
                   if ($result && $row=mysql_fetch_array($result))
                   {
                                // affectation des données de l'élève dans les variables du formulaire
                               
                                $civilite = $row['civilite'];
                                $nom = $row['nom'];
                                $prenom = $row['prenom'];
                                $idClasse =$row['idClasse'];
                                $annee =$row['annee'];
                                $promotion =$row['promotion'];
                                $redoublement =$row['redoublement'];
                                $adresse = $row['adresse'];
                                $code_postal = $row['code_postal'];
                                $ville = $row['ville'];
                                $portable = $row['portable'];
                                $mail = $row['mail'];
                                $date_de_naissance = $row['date_de_naissance'];
                                $idEntreprise = $row['idEntreprise'];

                           // .... Ajouter les autres champs de l'élève ....
                   }
                  else { $message = "<p>Elève non trouvé</p>"; }
                }
                               
                               
                // modifier un Etudiant
                if (isset($_GET['action']) && $_GET['action']=='modifier'&& !empty($idEtudiant))
                {
                                       
                        //
                        $message = "";
                        if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
                        if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
                        if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
                        if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                        if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
                        if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";
                                       
                        if (empty($message))
                        {
                                 $sql = "UPDATE etudiant SET civilite = '".$civilite."',nom = '".$nom."', prenom = '".$prenom."', idClasse = '".$idClasse."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', portable = '".$portable."', mail = '".$mail."', date_de_naissance = '".$date_de_naissance."', idEntreprise = '".$idEntreprise."' WHERE idEtudiant=" . $idEtudiant;
                                         
                                       
                           $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Modification effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }      
                               
        //AJOUTER ETUDIANT

                        // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($civilite)) $message .= "<p>La civilité est obligatoire !</p>";
                        if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
                        if (empty($prenom)) $message .= "<p>Le prenom est obligatoire !</p>";
                        if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                        if (empty($annee)) $message .= "<p>L'annee est obligatoire !</p>";
                        if (empty($promotion)) $message .= "<p>La promotion est obligatoire !</p>";

                       
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO etudiant (civilite, nom, prenom, idClasse, annee, promotion, redoublement, adresse, code_postal, ville, portable, mail, date_de_naissance, idEntreprise) VALUES ("'.$civilite.'","'.$nom.'", "'.$prenom.'", "'.$idClasse.'","'.$annee.'","'.$promotion.'","'.$redoublement.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$portable.'", "'.$mail.'", "'.$date_de_naissance.'", "'.$idEntreprise.'")';
                         
                          $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }      
               
        // SUPPRIMER UN ETUDIANT
                if (isset($_GET['action']) && $_GET['action']=='supprimer' && !empty($idEtudiant))
                {
                        $message = "";
                        if (empty($message))
                        {
                        $sql = 'DELETE FROM Etudiant WHERE idEtudiant="' . $idEtudiant . '" ';
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }
               
               
//ENTREPRISE
               
        // LISTE DES ENTREPRISE
                                $listeEntreprises = "";
                                $sql = "SELECT * FROM entreprise";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                        $selected = isset($idEntreprise)&&$row['idEntreprise']==$idEntreprise? " selected " : "";
                                        $listeEntreprises .= "<option value=\"".$row['idEntreprise']."\" ".$selected." >".$row['nom_entr']."</option>";
                                }
                               

        //AJOUT ENTREPRISE

                // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
                        if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
                        if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
                        if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
                        if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";

                       
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO entreprise (nom_entr, adresse, code_postal, ville, tel, mail, Tuteur) VALUES ("'.$nom_entr.'", "'.$adresse.'", "'.$code_postal.'", "'.$ville.'", "'.$tel.'", "'.$mail.'", "'.$Tuteur.'")';
                         
                          $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }                              
               
        // MODIFICATION ENTREPRISE

                // rechercher les données de l'entreprise choisi dans la liste
                if (isset($_GET['action']) && $_GET['action']=='valider' && !empty($idEntreprise))
                {
                   $message = "";
                   $sql = "SELECT * FROM entreprise WHERE idEntreprise ='" . $idEntreprise . "' ";
                   $result = mysql_query($sql) or die(mysql_error());
                   if ($result && $row=mysql_fetch_array($result))
                   {
                                // affectation des données de l'entreprise dans les variables du formulaire
                               
                                $nom_entr = $row['nom_entr'];
                                $adresse = $row['adresse'];
                                $code_postal = $row['code_postal'];
                                $ville = $row['ville'];
                                $tel = $row['tel'];
                                $mail = $row['mail'];
                                $Tuteur = $row['Tuteur'];
                           // .... Ajouter les autres champs de l'entreprise ....
                   }
                  else { $message = "<p>Entreprise non trouvé</p>"; }
                }
               

               
                // modifier une Entreprise
                if (isset($_GET['action']) && $_GET['action']=='modifier'&& !empty($idEntreprise))
                {
                       
                        //
                        $message = "";
                        if (empty($nom_entr)) $message .= "<p>Le nom de l'entreprise est obligatoire !</p>";
                        if (empty($adresse)) $message .= "<p>L'adresse est obligatoire !</p>";
                        if (empty($code_postal)) $message .= "<p>Le code postal est obligatoire !</p>";
                        if (empty($ville)) $message .= "<p>La ville est obligatoire !</p>";
                        if (empty($Tuteur)) $message .= "<p>Le tuteur est obligatoire !</p>";
                       
                        if (empty($message))
                        {
                          $sql = "UPDATE entreprise SET nom_entr = '".$nom_entr."', adresse ='".$adresse."', code_postal = '".$code_postal."', ville = '".$ville."', tel = '".$tel."', mail = '".$mail."', Tuteur = '".$Tuteur."' WHERE idEntreprise=" . $idEntreprise;
                         
                       
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Modification effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }              
               
        //SUPPRIMER ENTREPRISE
       
                if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($idEntreprise))
                {
                        //
                        $message = "";
                        if (empty($message))
                        {
                        $sql = 'DELETE FROM entreprise WHERE idEntreprise="' . $idEntreprise . '" ';           
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }      
       
//PROFS
               
        //LISTE DES PROFS
                                $listeDesProfs = "";
                                $sql = "SELECT * FROM prof";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                        $selected = isset($nom_prof)&&$row['nom']==$nom_prof? " selected " : "";
                                        $listeDesProfs .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                }
                               
                               
        //AJOUTER PROFS
       
                // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($nom_prof)) $message .= "<p>Le nom est obligatoire !</p>";
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO prof (nom) VALUES ("'.$nom_prof.'")';
                         
                          $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }
        //SUPPRIMER PROFS

                if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($nom_prof))
                {
                        //
                        $message = "";
                        if (empty($message))
                        {
                        $sql = 'DELETE FROM prof WHERE nom="' . $nom_prof . '" ';                
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }              
//MATIERES             

        //LISTE DES MATIÈRES
                $listeDesMatieres = "";
                                $sql = "SELECT * FROM matiere";
                                $result = mysql_query($sql) or die(mysql_error());
                                while($result && $row=mysql_fetch_array($result))
                                {
                                                $selected = isset($nom_mat)&&$row['nom']==$nom_mat? " selected " : "";
                                                $listeDesMatieres .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                }
                               
               


        //AJOUTER MATIERE

        // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                        //
                        $message = "";
                        if (empty($nom)) $message .= "<p>Le nom est obligatoire !</p>";
                        if (empty($message))
                        {
                          $sql = 'INSERT INTO matiere (nom) VALUES ("'.$nom.'")';
                         
                                                $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Enregistrement effectué avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }
               
        //SUPPRIMER MATIERE
                if (isset($_GET['action']) && $_GET['action']=='supprimer'&& !empty($nom_mat))
                {
                        //
                        $message = "";
                        if (empty($message))
                        {
                        $sql = 'DELETE FROM matiere WHERE nom="' . $nom_mat . '" ';            
                        $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                        //echo $sql;
                        }
                        if (empty($message)) $message = "Suppression effectuée avec succès";
            else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";          
                }      
               
               
//FIN DE CONNEXION
                mysql_close();
                               
?>

fonction_consultation.php :

<?php
mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
// Variables utilisées
include("variable.php");

//CONSULTATION D'ASSIDUITE

                //-------------------------------------
                // TRAITEMENT DES BOUTON D'ACTION
                //-------------------------------------
                $message = "";
                if (isset($_GET['action_nb_absence_date']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UNE DATE
                                $nombreheureabsence = 0;
                                $sql = "SELECT * FROM `nbre_heures_absence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsence = $row['nbre_heures_absence'];
                                }
                                $message = "    Nombre d'heures d'absence : " . $nombreheureabsence . "H";
                }
                //------------------------------------------
                if (isset($_GET['action_nb_presence_date']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UNE DATE
                                $nombreheurepresence = 0;
                                $sql = "SELECT * FROM `nbre_heures_presence` WHERE date = '" . $date . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresence = $row['nbre_heures_presence'];
                                }
                                $message = "    Nombre d'heures de présence : " . $nombreheurepresence . "H";
                }
                //-----------------------------------------------
                if (isset($_GET['action_nb_absence_mois']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE D'ABSENCES D'UN Etudiant POUR UN MOIS
                                $nombreheureabsencemois = 0;
                                $sql = "SELECT * FROM `nb_heures_absence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsencemois = $row['nbre_heures_absence'];
                                }
                                $message = "    Nombre d'heures d'absence du mois : " . $nombreheureabsencemois . "H";
                }

                //------------------------------------------
                if (isset($_GET['action_nb_presence_mois']) && !empty($idEtudiant) && !empty($date))
                {
                                // CALCUL DU NOMBRE DE PRESENCES D'UN Etudiant POUR UN MOIS
                                $nombreheurepresencemois = 0;
                                $sql = "SELECT * FROM `nb_heures_presence_mois` WHERE mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresencemois = $row['nbre_heures_presence'];
                                }
                                $message = "    Nombre d'heures de présence du mois : " . $nombreheurepresencemois . "H";
                }

                //------------------------------------------
                if (isset($_GET['action_total_absence']) && !empty($idEtudiant))
                {
                                // CALCUL DU TOTAL D'ABSENCES D'UN Etudiant
                                $totalheureabsence  = 0;
                                $sql = "SELECT * FROM `total_heures_absence` WHERE idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $totalheureabsence = $row['nbre_heures_absence'];
                                }
                                $message = "    Total heures d'absence : " . $totalheureabsence . "H";
                }
                //-----------------------------------------------
                if (isset($_GET['action_total_presence']) &&  !empty($idEtudiant))
                {
                                // CALCUL DU TOTAL DE PRESENCES D'UN Etudiant
                                $totalheurepresence  = 0;
                                $sql = "SELECT * FROM `total_heures_presence` WHERE idEtudiant = '". $idEtudiant. "' ";
                                $result = mysql_query($sql) or die(mysql_error());

                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $totalheurepresence = $row['nbre_heures_presence'];
                                }
                                $message = "Total heures de présence : " . $totalheurepresence . "H";
                }
                //----------------------------------------------------

                if (isset($_GET['action_nb_absence_jour']) && !empty($idEtudiant))
                {
                                // requête SQL: Nombre d'heures d'absence par jour pour l'élève $idEtudiant
                                $sql = "SELECT t1.* , t2.*  FROM  `nbre_heures_absence` t1  join `etudiant` t2 ON t1.idEtudiant=t2.idEtudiant
                                                   WHERE  t1.idEtudiant = '". $idEtudiant . "'   AND t1.nbre_heures_absence >0 ";

                                $result = mysql_query($sql) or die(mysql_error());
                                while ($result && $row = mysql_fetch_array($result))
                                {
                                   // afficher les heures d'absence de l'élève par jour
                                 $message .= "<p>l'élève " . $row['nom']. " a été absent le : " . date('d M Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</p>";
                       
                                }
                }

?>

fonction_formassiduite.php :
<?php
mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
// Variables utilisées
include("variable.php");

//FORMASSIDUITE

                // enregistrer la saisie du formulaire
                if (isset($_GET['action']) && $_GET['action']=='Enregistrer')
                {
                                //
                                $message = "";
                                if (empty($date)) $message .= "<p>La date est obligatoire !</p>";
                                if (empty($idEtudiant)) $message .= "<p>La sélection d'un étudiant est obligatoire !</p>";
                                if (empty($idClasse)) $message .= "<p>La classe est obligatoire !</p>";
                                if (empty($annee)) $message .= "<p>L'Année est obligatoire !</p>";

                           
                                //
                                if (empty($message))
                                {
                                        $listeAbsences = isset($_GET['absences'])?$_GET['absences']:array();
                                        //echo "<pre>"; print_r($listeAbsences); echo "</pre>";
                                        $sql = "SELECT * FROM etudiant WHERE idClasse = '".$idClasse."';";
                                        $result = mysql_query($sql) or die(mysql_error());
                                        while($result && $row=mysql_fetch_array($result))
                {
                        $idEtudiant = $row['idEtudiant'];     $nomEtudiant = $row['nom'];
                        $presence_mat_t1 = isset($listeAbsences["$idEtudiant"]['mat_t1'])?0:1;
                        $presence_mat_t2 = isset($listeAbsences["$idEtudiant"]['mat_t2'])?0:1;
                        $presence_amidi_t1 = isset($listeAbsences["$idEtudiant"]['amidi_t1'])?0:1;
                        $presence_amidi_t2 = isset($listeAbsences["$idEtudiant"]['amidi_t2'])?0:1;
                        //
                        // Nouvel enregistrement ou Mise à jour
                        if ($mode_ajout==true){
                        $sql="INSERT INTO assiduite SET date='".$date."', idEtudiant='".$idEtudiant."',
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."';";                            
                        } else {
                                $sql="UPDATE assiduite SET      
                                                                        presence_mat_t1='".$presence_mat_t1."',
                                                                        presence_mat_t2='".$presence_mat_t2."',
                                                                        presence_amidi_t1='".$presence_amidi_t1."',
                                                                        presence_amidi_t2='".$presence_amidi_t2."',
                                                                       
                                                                        nomProf_mat_t1 = '".$nomProf_mat_t1."',
                                                                        nomProf_mat_t2 = '".$nomProf_mat_t2."',
                                                                        nomProf_amidi_t1 = '".$nomProf_amidi_t1."',
                                                                        nomProf_amidi_t2 = '".$nomProf_amidi_t2."',

                                                                        nomMatiere_mat_t1 = '".$nomMatiere_mat_t1."',
                                                                        nomMatiere_mat_t2 = '".$nomMatiere_mat_t2."',
                                                                        nomMatiere_amidi_t1 = '".$nomMatiere_amidi_t1."',
                                                                        nomMatiere_amidi_t2 = '".$nomMatiere_amidi_t2."'
                                                                       
                                                WHERE date='".$date."' AND idEtudiant='".$idEtudiant."';";                  
                        }
                        //
                        //echo $sql;
                        if (!@mysql_query($sql)) $message .= "<li>".$nomEtudiant." => Erreur : ".mysql_error()."</li>";
                }
                if (empty($message)) $message = "Enregistrement effectué avec succès";
                else $message = "<p>Les Erreurs suivantes sont rencontrées :</ul>" . $message . "</ul></p>";
        }
}              

                // crée les listes des profs
                $listeProfs_mat_t1 = "";
                $listeProfs_mat_t2 = "";
                $listeProfs_amidi_t1 = "";
                $listeProfs_amidi_t2 = "";
                $sql = "SELECT * FROM prof ORDER BY nom;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($nomProf_mat_t1)&&$row['nom']==$nomProf_mat_t1? " selected " : "";
                                $listeProfs_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";    
                                //
                                $selected = isset($nomProf_mat_t2)&&$row['nom']==$nomProf_mat_t2? " selected " : "";
                                $listeProfs_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = isset($nomProf_amidi_t1)&&$row['nom']==$nomProf_amidi_t1? " selected " : "";
                                $listeProfs_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = isset($nomProf_amidi_t2)&&$row['nom']==$nomProf_amidi_t2? " selected " : "";
                                $listeProfs_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                }
               
                //liste des matiere
                $listeMatieres_mat_t1 = "";
                $listeMatieres_mat_t2 = "";
                $listeMatieres_amidi_t1 = "";
                $listeMatieres_amidi_t2 = "";
                $sql = "SELECT * FROM matiere ORDER BY nom;";
                $result = mysql_query($sql) or die(mysql_error());
                while($result && $row=mysql_fetch_array($result))
                {
                                $selected = isset($nomMatiere_mat_t1)&&$row['nom']==$nomMatiere_mat_t1? " selected " : "";
                                $listeMatieres_mat_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";  
                                //
                                $selected = isset($nomMatiere_mat_t2)&&$row['nom']==$nomMatiere_mat_t2? " selected " : "";
                                $listeMatieres_mat_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = isset($nomMatiere_amidi_t1)&&$row['nom']==$nomMatiere_amidi_t1? " selected " : "";
                                $listeMatieres_amidi_t1 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                                //
                                $selected = isset($nomMatiere_amidi_t2)&&$row['nom']==$nomMatiere_amidi_t2? " selected " : "";
                                $listeMatieres_amidi_t2 .= "<option value=\"".$row['nom']."\" ".$selected." >".$row['nom']."</option>";
                }
?>
fonction_attestation.php :
<?php
mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
// Variables utilisées
include("variable.php");
//ATTESTATION

                       


                //-------------------------------------
                // TRAITEMENT DES BOUTON D'ACTION
                //-------------------------------------
                $message1 = "";
                $message4 = "";
                $message5 = "";
                $message6 = "";
                $message7 = "";
               
               
               
                //------------------------------------------
                // attestation (nom etudiant, entreprise, nombre heure par mois, jours d'absences)
                if (isset($_GET['action_attestation']) && !empty($idEtudiant))
                {

                        $sql = "SELECT * FROM etudiant t1 LEFT JOIN entreprise t2 ON t1.idEntreprise=t2.idEntreprise WHERE t1.idEtudiant='". $idEtudiant ."' ";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                 // données élève utiles à l'attestation: etudiant, entreprise et classe
                                                                $idEtudiant = $row['idEtudiant'];
                                                                $nomEtudiant = $row['nom'];
                                                                $prenomEtudiant = $row['prenom'];
                                                                $civiliteEtudiant = $row['civilite'];
                                                                $promotion = $row['promotion'];
                                                                $idClasse = $row['idClasse'];
                        }
                                               
                        //afficher les heures d'absence/présence de l'élève par année et mois donnés
                        $nombreheurepresencemois = 0;
                        $nombreheureabsencemois = 0;
                       
                        if (isset($annee) && isset($mois)){
                                $sql = "SELECT * FROM `nb_heures_presence_mois` WHERE annee = '".$annee."' AND mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                //echo $sql;
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheurepresencemois = $row['nbre_heures_presence'];
                                }
                                           
                                $sql = "SELECT * FROM `nb_heures_absence_mois` WHERE annee = '".$annee."' AND mois = '" . $mois . "'  AND idEtudiant = '". $idEtudiant. "' ";
                                //echo $sql;
                                $result = mysql_query($sql) or die(mysql_error());
                                if ($result)
                                {
                                                $row = mysql_fetch_array($result);
                                                $nombreheureabsencemois = $row['nbre_heures_absence'];
                                }
                               
                            // Détail des absences par jour    pour l'année et mois donnés  
                                $sql = "SELECT *  FROM  `nbre_heures_absence` WHERE year(date) = '".$annee."' AND month(date) = '" . $mois . "'  AND   idEtudiant = '". $idEtudiant . "'   AND nbre_heures_absence >0 ";  
                        //echo $sql;      
                        $result = mysql_query($sql) or die(mysql_error());
                        while ($result && $row = mysql_fetch_array($result))
                        {
                                   // afficher les heures d'absence de l'élève par jour
                                 $message1 .=  "<li>Le ". date('d', strtotime($row['date'])). " " .$tab_nomMois_FR[intval(date('m', strtotime($row['date'])))] . " " .date('Y', strtotime($row['date'])). "  pendant " . $row['nbre_heures_absence']. " h</li>";
                        }
                        }
                        //afficher l'attestation
                        include("afficher_attestation.php");
                        exit;                  
                }
?>
PS : je te met formAssiduite.php dans une autre réponse
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

25 mai 2011, 09:23

forAssiduite.php :
<?php
include ("menu.php"); 
include ("variable.php"); 
include ("fonction.php");
include ("fonction_formassiduite.php");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestion d'assiduité des élèves</title>
</head>
<body>
		<div class="main2">
			<h1>Gestion d'assiduité des élèves</h1>
<br/><b><FONT color="red" size="4"><u>Par Classe</u> :</font></b><br/><br/>			<div id='feuille_absence'>
				<form name="form1" action="" method="get">
				<table>
				<tr>
				<th>
				<th>Année d'étude :&nbsp;&nbsp;</th><td>
					<select name="anneeNiveau" onChange="form1.submit();">
					<option value="" ></option>
					<?php echo $listeAnneesNiveau; ?>
					</select>
				</td>
				
				<th>Classe :</th><td><select name="idClasse" onChange="form1.submit();" value="<?php echo $idClasse; ?>" >
				<option value="" ></option>
				<?php echo $listeClasses; ?>
				</select></td>

				<th>&nbsp;&nbsp;&nbsp;Date : </th><td><input type="text" id="dateLib" name="date" value="<?php echo $date; ?>" style="width:180px"
						onfocus="visuCal(this,paramLib)" onBlur="masqueCal(this);"  />
								&nbsp;&nbsp;&nbsp;<input type="submit" name="action" value="Valider la date" />
								</td>
				</tr>
				</table>
				<hr />
				<?php if ($mode_ajout==true) { ?>
			
				<h2>Nouvelle Feuille de présence du <?php echo $date; ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Pour ajouter cette feuille dans la base de données, appuyer sur le bouton Enregistrer</p>
				<?php } else { ?>
				<h2>Feuille de présence existante du <?php echo $date; ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Vous pouvez modifier cette feuille puis appuyer sur le bouton Enregistrer pour mettre à jour la base de données.</p>
				<?php } ?>
				<table border="1">
				<tr>
					<th width="82">Nom - Prenom</th>
					<th width="66">8h00 - 10h00</th>
					<th width="73">10h00 - 12h00</th>
					<th width="73">13h30 - 15h30</th>
					<th width="73">15h30 - 17h30</th>
			<th width="94">Total heures d'absences</th>
				</tr>
				<?php echo $listeAssiduiteEtudiants; ?>
				<tr>
					<th>Prof : </th>
					<td><select name="nomProf_mat_t1" value="<?php echo $nomProf_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t1; ?>
					</select></td>
					<td><select name="nomProf_mat_t2" value="<?php echo $nomProf_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t2; ?>
					</select></td>
					<td><select name="nomProf_amidi_t1" value="<?php echo $nomProf_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t1; ?>
					</select></td>
					<td><select name="nomProf_amidi_t2" value="<?php echo $nomProf_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t2; ?>
					</select></td>
				</tr>
				<tr>
					<th>Matière : </th>
					<td><select name="nomMatiere_mat_t1" value="<?php echo $nomMatiere_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t1; ?>
					</select></td>
					<td><select name="nomMatiere_mat_t2" value="<?php echo $nomMatiere_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t2; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t1" value="<?php echo $nomMatiere_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t1; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t2" value="<?php echo $nomMatiere_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t2; ?>
					</select></td>
				</tr>
				</table>
			</div>
			<input type="hidden" name="mode_ajout" value="<?php echo $mode_ajout; ?>" />
			<input type="submit" name="action" value="Enregistrer" />
			<span class="marge"></span>
			<input type="submit" name="action" value="Exporter" />
			<input type="button" value="Imprimer" onClick="imprime_zone('feuille_absence');">
			</form>
			<div id="message"><?php echo isset($message)?$message:''; ?></div>


			<?php
					// Exportation de la feuille vers un fichier excel
					if (isset($_GET['action']) && $_GET['action']=='Exporter')
					{
							include("formAssiduite_Export.php");
					}
			?>
			
	
	
	<br/><br/><br/><br/><br/><br/><b><FONT color="red" size="4"><u>Par Etudiant</u> :</font></b><br/><br/>
			<form name="form1" action="" method="get">
				<table>
				<tr>
				<th>
				Année d'étude :&nbsp;&nbsp;</th><td>
					<select name="anneeNiveau" onChange="form1.submit();">
					<option value="" ></option>
					<?php echo $listeAnneesNiveau; ?>
					</select>
				</td>
				
				<th>Etudiant :</th><td> <select name="idEtudiant" >
							<option value="" >
							</option>
							<?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
							</select></td>

				<th>&nbsp;&nbsp;&nbsp;Date : </th><td><input type="text" id="dateLib" name="date" value="<?php echo $date; ?>" style="width:180px"
						onfocus="visuCal(this,paramLib)" onBlur="masqueCal(this);"  />
								&nbsp;&nbsp;&nbsp;<input type="submit" name="action" value="Valider la date" />
								</td>
				</tr>
				</table>
				<hr />
				<?php if ($mode_ajout==true) { ?>
				<h2>Nouvelle Feuille de présence du <?php echo date("d-m-Y",strtotime($date)); ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Pour ajouter cette feuille dans la base de données, appuyer sur le bouton Enregistrer</p>
				<?php } else { ?>
				<h2>Feuille de présence existante du <?php echo date("d-m-Y",strtotime($date)); ?></h2>
				<p>Veuillez cocher une case pour désigner une absence.<br />
				Vous pouvez modifier cette feuille puis appuyer sur le bouton Enregistrer pour mettre à jour la base de données.</p>
				<?php } ?>
				<table border="1">
				<tr>
					<th width="82">Nom - Prenom</th>
					<th width="66">8h00 - 10h00</th>
					<th width="73">10h00 - 12h00</th>
					<th width="73">13h30 - 15h30</th>
					<th width="73">15h30 - 17h30</th>
					<th width="73">Motif</th>
					<th width="94">Total heures d'absences</th>
				</tr>
				<?php echo $listeAssiduiteEtudiants; ?>
				<tr>
					<th>Prof : </th>
					<td><select name="nomProf_mat_t1" value="<?php echo $nomProf_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t1; ?>
					</select></td>
					<td><select name="nomProf_mat_t2" value="<?php echo $nomProf_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_mat_t2; ?>
					</select></td>
					<td><select name="nomProf_amidi_t1" value="<?php echo $nomProf_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t1; ?>
					</select></td>
					<td><select name="nomProf_amidi_t2" value="<?php echo $nomProf_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeProfs_amidi_t2; ?>
					</select></td>
				</tr>
				<tr>
					<th>Matière : </th>
					<td><select name="nomMatiere_mat_t1" value="<?php echo $nomMatiere_mat_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t1; ?>
					</select></td>
					<td><select name="nomMatiere_mat_t2" value="<?php echo $nomMatiere_mat_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_mat_t2; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t1" value="<?php echo $nomMatiere_amidi_t1; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t1; ?>
					</select></td>
					<td><select name="nomMatiere_amidi_t2" value="<?php echo $nomMatiere_amidi_t2; ?>" >
					<option value="" ></option>
					<?php echo $listeMatieres_amidi_t2; ?>
					</select></td>
				</tr>
				</table>
		
			<input type="hidden" name="mode_ajout" value="<?php echo $mode_ajout; ?>" />
			<input type="submit" name="action" value="Enregistrer" />
			<span class="marge"></span>
			<input type="submit" name="action" value="Exporter" />
			<input type="button" value="Imprimer" onClick="imprime_zone('feuille_absence');">
			</form>
			<div id="message"><?php echo isset($message)?$message:''; ?></div>

		</div>
			<?php
					// Exportation de la feuille vers un fichier excel
					if (isset($_GET['action']) && $_GET['action']=='Exporter')
					{
							include("formAssiduite_Export.php");
					}
			?>
			
	</div>

	
</body>

</html>
petite question a part : pour définir mes nouvelle variable pour pas qu'il y est plusieurs fois "nom" etc, il faut bien que je laisse a un moment donné le même nom que dans la base de donnée ou bien c'est que dans les requête SQL qu'il faut impérativement avoir les mêmes nom?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

25 mai 2011, 10:20

petite question a part : pour définir mes nouvelle variable pour pas qu'il y est plusieurs fois "nom" etc, il faut bien que je laisse a un moment donné le même nom que dans la base de donnée ou bien c'est que dans les requête SQL qu'il faut impérativement avoir les mêmes nom?
C'est que dans les requêtes SQL que tu es obligé de respecter l'orthographe du nom du champ d'une table. Par contre, en PHP les variables qui commencent par $ tu peux les nommer "comme tu veux" mais il faut tout de même choisir des noms lisibles qui se rapportent à un objet dans son contexte. Comme par exemple, si tu as un champ "nom" dans la table "Etudiant" et à autre champ "nom" dans la table "Entreprise" ou "Prof" ... dans le code PHP tu peux utiliser 3 variables pour désigner ces noms nommées selon leurs contextes et rôles : $nomEtudiant, $nomEntreprise, $nomProf, ... Tu vois c'est lisible comme ça. En plus ces noms de variables peuvent être utilisés dans plusieurs programmes PHP du même projet sans devoir inventer à chaque fois d'autres noms comme $nomEtudiant1, $nomEtudiant2, ... ça c'est aberrant.
De plus, ce système de nommage peut s'étendre aux nom des zones des formulaires HTML. Par exemple : si dans un formulaire d'enregistrement d'un étudiant, tu as une zone de saisie du nom de l'étudiant, tu peux alors la nommer par : name="nomEtudiant" et ainsi de suite. C'est comme si tu devais adopter une méthode normalisée de nommage des entités, champs, variables, noms de fonctions et procédures, noms de fichiers et dossiers, ...

En effet, ce système de nommage en programmation ne rentre pas en conflit avec celui de la base de données dans les requêtes SQL. Par exemple pour une requête d'insertion on doit simplement distinguer et respecter les noms d'origine de la base de données représentant la structure de la table et ceux correspondants aux variables PHP contenant les valeurs insérées. Comme :
// récupérer les valeurs des champs du formulaire envoyé
$nomEtudiant = isset($_GET['nomEtudiant'])?$_GET['nomEtudiant']:null;
$prenomEtudiant = isset($_GET['prenomEtudiant'])?$_GET['prenomEtudiant']:null;
$adresseEtudiant = isset($_GET['adresseEtudiant'])?$_GET['adresseEtudiant']:null;

// requête d'insertion
$sql = "INSERT INTO Etudiant (nom, prenom, adresse) VALUES ('".$nomEtudiant."','".$prenomEtudiant."','".$adresseEtudiant."' )";
Dans la base de données, on a nommé les champs normalement : nom, prenom et adresse car ils sont encapsulés dans le contexte de leur table "Etudiant" pour les différencier d'autres homonymes de la base de données on utilise le nommage hiérarchique : Parent.enfant. Donc le nom de l'étudiant sera noté dans une requête hétérogènes (à plusieurs tables) comme ça : Etudiant.nom.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène