CREATION EMPLOI DU TEMPS!!!!

monsieurmartinez Messages postés 15 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 24 juin 2006 - 24 juin 2006 à 15:55
monsieurmartinez Messages postés 15 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 24 juin 2006 - 24 juin 2006 à 19:02
Bonjour je dois créer un emploi du temps pour une université.
J'ai donc créer un formulaire pour rentrer tous les paramètres des cours enseignés.
Je souhaiterais maintenant que mon emploi du temps s'affiche à l'écran sous forme d'un tableau par exemple en respectant les horaires sélectionnées mais j'ai des erreurs qui s'affichent.

La page suivante est le formulaire qui pêrmet la création d'un emploi du temps :

<?
$bdd= "université";
$host="localhost";
$user="root";
$pass="";
mysql_connect($host,$user,$pass) or die ("Impossible de se connecter à la base de données");
mysql_select_db($bdd);?>
CREATION D'UN EMPLOI DU TEMPS :


<form action='emploidutemps.php' method='post'>
 
 
 
 Choisissez la durée du cours :

 
 <select name="duree" align="center">
<option value='-' >
</option>
<option value="1">1 heure
<option value="2">2 heures
<option value="3">3 heures
<option value="4">4 heures
</select>




 
 
 Choisissez la spécialité :

 <select name="specialite" align="center">
<option value='-'></option>


</option>
<option value="calculatrice">calculatrice
<option value="electromecanique">electromecanique
<option value="electronique">electronique
<option value="electronique appliquee">electronique appliquee
<option value="mesures en ingenieurie electrique">mesures en ingenieurie electrique
<option value="systeme intelligent pour la communication">systeme intelligent pour la communication
</select>




 
 Choisissez le groupe :

 <select name="groupe" align="center">
<option value='-' ></option>


<option value="1">1er groupe
<option value="2">2ème groupe
<option value="3">3ème groupe
<option value="4">4ème groupe


</select>





Choisissez le cours :

 <select name="matiere" align="center">
<option value='-' ></option>


<?
$requet2="select * from matiere";
if($result2=mysql_query($requet2))
{
 while($ligne2=mysql_fetch_array($result2))
 {
 ?><option value="<?echo $ligne2['id_matiere'];?>">
 <?echo $ligne2['matiere'];
 }
}


?>
</select>


 


Choisissez le type du cours :

 <select name="type" align="center">
<option value='-' >
</option>
<option value="1">cours
<option value="2">TP
<option value="3">TD
<option value="4">Projet
<option value="5">Pas cours
</select>


 




Choisissez la salle du cours :

 <select name="salle" align="center">
<option value='-' >
</option>


<?
$requet="select * from salle";
if($result=mysql_query($requet))
{
 while($ligne=mysql_fetch_array($result))
 {
 ?><option value="<?echo $ligne['id_salle'];?>"><?
 echo $ligne['salle'];
 }
}


?></select>


 


Choisissez le professeur :

 <select name="professeur" align="center">
<option value='-' >
</option>


<?
$requet="select * from professeurs";
if($result=mysql_query($requet))
{
 while($ligne=mysql_fetch_array($result))
 {
 ?><option value="<?echo $ligne['id_prof'];?>"><?
 echo $ligne['nom'] ." ". $ligne['prenom'];
 }
}


?></select>


 


Choisissez l'année :

 <select name="annee" align="center">
<option value='-'>
</option>


<option value="1ère">1ère année
<option value="2ème">2ème année
<option value="3ème">3ème année
<option value="4ème">4ème année
<option value="5ème">5ème année
</select>






">,

</form>

Ces informations sont alors renvoyées vers cette page :

<?
if(isset($_POST['annee']))         $annee=$_POST['annee'];
else      $annee="";


if(isset($_POST['matiere']))       $matiere=$_POST['matiere'];
else      $matiere="";


if(isset($_POST['groupe']))       $groupe=$_POST['groupe'];
else      $groupe="";


if(isset($_POST['specialite']))      $specialite=$_POST['specialite'];
else      $specialite="";


if(isset($_POST['type']))       $type=$_POST['type'];
else      $type="";


if(isset($_POST['duree']))       $duree=$_POST['duree'];
else      $duree="";


if(isset($_POST['num_emploi']))       $num_emploi=$_POST['num_emploi'];
else      $num_emploi="";




if ($duree==1)
{
 $num_emploi=$num_emploi+1;
}
elseif ($duree==2)
{
 $num_emploi=$num_emploi+2;
}
elseif ($duree==3)
{
 $num_emploi=$num_emploi+3;
}
elseif ($duree==4)
{
 $num_emploi=$num_emploi+4;
}




if(isset($_POST['salle']))        $salle=$_POST['salle'];
else      $salle="";


if(isset($_POST['professeur']))       $professeur=$_POST['professeur'];
else      $professeur="";


$bdd="université";
$host="localhost";
$user="root";
$pass="";
mysql_connect($host,$user,$pass) or die ("Impossible de se connecter à la base de données");
mysql_select_db($bdd);


$Query="INSERT INTO emploi(num_emploi,annee,id_matiere,groupe,id_spe,id_type,duree,id_salle,id_prof) VALUES ('$num_emploi','$annee','$matiere','$groupe','$specialite','$type','$duree','$salle','$professeur')";
$Result=mysql_query($Query) or die("impossible d'insérer");


 


$jour[0]='LUNDI';
$jour[1]='MARDI';
$jour[2]='MERCREDI';
$jour[3]='JEUDI';
$jour[4]='VENDREDI';
$jour[5]='SAMEDI';


 


$titre="Emploi du temps du groupe ".$groupe." de ".$annee." année
spécialité ".$specialite;?>
<?echo $titre?>


<?
if(isset($Result))
{
        echo" L'édition du creneau a réussi

";
 echo "Editer un nouveau créneau

";
 echo "Changer d'année, de Groupe ou de spécialité";
}
else      
{
 echo"
L'édition a échoué

";
 echo "Editer un nouveau créneau

";
 echo "Changer d'année, de Groupe ou de spécialité";
}
 ?>

L'emploi du temps est alors créé, enfin j'espère.
Ensuite pour le visualiser j'ai créee un otre formulaire :

<?$bdd ="université";
$host="localhost";
$user="root";
$pass="";
mysql_connect($host,$user,$pass) or die ("Impossible de se connecter à la base de données");
mysql_select_db($bdd);?>
Modification des emplois du temps


  ----

    Quel emploi du temps voulez-vous modifier?,
 
  ----

   
<form action="visualisation.php" method='POST'>

Choix de la spécialité :

        <select name="specialite" align="center">
<option value='-' >
</option>

<option value="calculatrice">calculatrice
<option value="electromecanique">electromecanique
<option value="electronique">electronique
<option value="electronique appliquee">electronique appliquee
<option value="mesures en ingenieurie electrique">mesures en ingenieurie electrique
<option value="systeme intelligent pour la communication">systeme intelligent pour la communication
</select>
 ,

----

Choix de l'année :

        <select name="annee" align="center">
<option value='-' >
</option>
<option value="1ère">1ère année
<option value="2ème">2ème année
<option value="3ème">3ème année
<option value="4ème">4ème année
<option value="5ème">5ème année
</select>,

----

Choix du groupe :

         <select name="groupe" align="center">
<option value='-' >
</option>
<option value="1">1er groupe
<option value="2">2ème groupe
<option value="3">3ème groupe
<option value="4">4ème groupe

</select>,

----

,

</form>

 

mais lorsque je clique sur envoyer des erreurs apparaissent.

Le script pour la visualisation est le suivant :

<?
$bdd="université";
$host="localhost";
$user="root";
$pass="";
mysql_connect($host,$user,$pass) or die ("Impossible de se connecter à la base de données");
mysql_select_db($bdd);?>
VISUALISATION D'UN EMPLOI DU TEMPS :


<?
if(isset($_POST['annee']))         $annee=$_POST['annee'];
else      $annee="";


if(isset($_POST['specialite']))       $specialite=$_POST['specialite'];
else      $specialite="";


if(isset($_POST['groupe']))       $groupe=$_POST['groupe'];
else      $groupe="";


echo "annee=".$annee."
";
echo "specialite=".$specialite."
";
echo "groupe=".$groupe."
";
  //Envoi de la requete SQL
  
   $Query1= "SELECT matiere FROM emploi WHERE annee='$annee' and groupe='$groupe' and specialite='$specialite' ";
   if($Result1=mysql_query($Query1))
   {
 while($ligne=mysql_fetch_array($Result1))
 {
  $elem1=$ligne['id_matiere'];
 }
   }
  


    $Query2= "SELECT professeur FROM emploi WHERE annee='$annee' and groupe='$groupe' and specialite='$specialite' ";
    if($Result2=mysql_query($Query2))
    {
 while($ligne=mysql_fetch_array($Result2))
 {
  $elem2=$ligne['id_prof'];
 }
    }
   
   
    $Query3= "SELECT salle FROM emploi WHERE annee='$annee' and groupe='$groupe' and specialite='$specialite' ";
    if($Result3=mysql_query($Query3))
    {
 while($ligne= mysql_fetch_array($Result3))
 {
  $elem3=$ligne['id_salle'];
 }
    }
 
 
    $Query4= "SELECT type FROM emploi WHERE annee='$annee' and groupe='$groupe' and specialite='$specialite' ";
    if($Result4=mysql_query($Query4))
    {
 while($ligne=mysql_fetch_array($Result4))
 {
  $elem4=$ligne['id_type'];
 }
    }
 


    $Query5= "SELECT duree FROM emploi WHERE annee='$annee' and groupe='$groupe' and specialite='$specialite' ";
    if($Result5=mysql_query($Query5))
    {
 while($ligne=mysql_fetch_array($Result5))
 {
  $elem5=$ligne['duree'];
 }
    }
  
   
   
    $jour[0]='LUNDI';
    $jour[1]='MARDI';
    $jour[2]='MERCREDI';
    $jour[3]='JEUDI';
    $jour[4]='VENDREDI';
    $jour[5]='SAMEDI';
?>




    ----

      &nbsp;,
        8h00,
      9h00,
      10h00,
      11h00,
      12h00,
      13h00,
      14h00,
      15h00,
      16h00,
      17h00,
      18h00,
      19h00,
      20h00,
   
   


<?
  $i=0;
  while($i<6){
?> 
----

    <? echo $jour[$i]; ?>,  

<?  $j=1;
    while($j<12) 
    {
  //Preparation de la requète SQL 
    $Query= \"SELECT * FROM emploi WHERE num_emploi='$j'\";
  // Envoi de la requète SQL 
    $Result=mysql_query($Query) or die(\"Erreur\");
    $elem=mysql_fetch_array($Result);
   
    switch($elem['duree']){
      case '1' :$type=\"1heure\";break;
      case '2' :$type=\"2heures\";break;
      case '3' :$type=\"3heures\";break;
      case '4' :$type=\"4heures\";break;
          }
    $prof=$elem['id_prof']; 
    $Query2= \"SELECT * FROM professeurs WHERE id_prof='$prof'\";
    $Result=mysql_query($Query2);
    $elem2=mysql_fetch_array($Result);
    $prof=strtoupper($elem2['nom']);
 
 //$Query3= \"SELECT couleur FROM module WHERE ID_Module='$elem[ID_Module\"]'\";
 //$Result3=mysql_query($Query3);
 //$elem3=mysql_fetch_array($Result3);
 //$couleur=$elem['couleur'];
    //Si Creneau Impaire
    if(($j%2)==1)
    {
      if(($elem['duree'])==1)
      {
      $j++?>
      <? echo $elem2['id_prof'];?>
<? echo $elem4['id_type'];?>
<? echo $elem3['id_salle'];?>
<? echo $elem1['id_matiere'];?>,
<?   
      }
      elseif($elem['duree']==2)
      {?>
            <table width="100%">
      ----

       , &nbsp;</td>
        <? echo $elem2['id_prof'];?>
<? echo $elem4['id_type'];?>
<? echo $elem3['id_salle'];?>
<? echo $elem1['id_matiere'];?>,
     
     

<?    }
      elseif(($elem['duree'])==3)
      {?>
      <td width="21%" bgcolor="red">&nbsp;</td>
<?    }
      else //Si c'est un TD ou un Partiel
      {?>
      <td width="21%" bgcolor="blue">
<? echo $elem2['id_prof'];?>
<? echo $elem4['id_type'];?>
<? echo $elem3['id_salle'];?>
<? echo $elem1['id_matiere'];?></td>
<?    }
    }
    else  //Si creneau Paire
    {
      if(($elem['duree'])==4)
      {?>
      <td width="21%">
            ----

        <? echo $elem2['id_prof'];?>
<? echo $elem4['id_type'];?>
<? echo $elem3['id_salle'];?>
<? echo $elem1['id_matiere'];?>,
        &nbsp;,
     
     

<?    }
     
    }
    $j++;
    }
  $i++;
  }?>
  </tr>
</table>

Les erreurs affichées sont du type :
Notice: Undefined variable: elem4 in c:\program files\easyphp1-8\www\monsite\kit51\visualisation.php on line 162

et elles apparaissent pour toutes la variables elem créées.
Si vous voyez où est le problème merci de m'en informer ou de me proposer une autre solution si vous en voyez une.
Merci d'avance pour toutes vos réponses.

2 réponses

3xodius55 Messages postés 91 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 16 septembre 2010
24 juin 2006 à 18:58
salut,

je suis débutant tout comme toi donx ce que je te dis ne sera pas forcément juste...
menfin, je me lance :

apparemment elem4 est un tableau or tu ne le declare pas en tant que tel donc :
$elem4 = array();

deuxio tu écris ceci:
 while($ligne=mysql_fetch_array($Result4))
 {
  $elem4=$ligne['id_type'];
 }

et pour inserer un element a la fin du tableau sans préciser l'indice, il me semble que c'est plutôt du genre :
 while($ligne=mysql_fetch_array($Result4))

 {

  $elem4[]=$ligne['id_type'];

 }

Voilà, tiens moi au courant
 
0
monsieurmartinez Messages postés 15 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 24 juin 2006
24 juin 2006 à 19:02
ok la je n'ai pas le temps de me mettre dessus mais pas de problème je te tiens au courant pour te dire ce qu'il en est!
merci pour ta réponse!
0
Rejoignez-nous