Location: PHPKode > projects > EmploiNet : a timetable web manager > EmploiNet/v0.8.0/FichesAdmin/fiche_charge_formation_prof.php3
<? 
include("../Session/security.php");
print("<html>\n");
print("<head>\n");
print("<title>Charge d'une promotion, avec les enseignants</title>\n");
print("</head>\n");   
print("<body>\n");
$autorisation_list[0]=0; // Administrateur
$autorisation_list[1]=3; // Gestionnaire
$autorisation_list[2]=4; // Directeur de departement
$user_type = validateSession($id_session);
if ($user_type == -1 || !security($id_session,$autorisation_list)) print("Accès refusé");
else
{
  /*connection à la base*/ 
  $connection = openConnection($databaseName);
  /*récupération de l'id de la promo*/
  $id=$id_promotion;
  /*requête sql*/
  $result1=mysql_query("select cgu.libelle,departement.libelle,matiere.libelle,professeur.nom,typeseance.type,nb_heures
     			from departement,cgu,matiere,professeur,assurer,typeseance,promotion,suiviparpromotion
     			where promotion.id_promotion=suiviparpromotion.id_promotion
	                           and suiviparpromotion.id_matiere=matiere.id_matiere
	    				   and matiere.id_matiere=assurer.id_matiere
		      		   and matiere.id_matiere=assurer.id_matiere
	  				   and assurer.id_professeur=professeur.id_professeur
		 			   and professeur.id_departement=departement.id_departement
	    				   and assurer.id_type_seance=typeseance.id_type_seance
	    				   and promotion.id_cgu=cgu.id_cgu
	  				   and type not like 'Examen' and promotion.id_promotion=".$id."
	 				 group by matiere.libelle,type
	 				 order by matiere.libelle");
  $result2=mysql_query("select cgu.libelle,departement.libelle,matiere.id_matiere,matiere.libelle,professeur.nom,typeseance.type,nb_heures
     			from departement,cgu,matiere,professeur,assurer,typeseance,promotion,suivipargroupe,groupe,associer
     			where promotion.id_promotion=associer.id_promotion and associer.id_groupe=groupe.id_groupe
     				   and groupe.id_groupe=suivipargroupe.id_groupe	
	                           and suivipargroupe.id_matiere=matiere.id_matiere
	    			   and matiere.id_matiere=assurer.id_matiere
		      		   and matiere.id_matiere=assurer.id_matiere
	  			   and assurer.id_professeur=professeur.id_professeur
		 		   and professeur.id_departement=departement.id_departement
	    			   and assurer.id_type_seance=typeseance.id_type_seance
	    			   and promotion.id_cgu=cgu.id_cgu
	  			   and typeseance.type not like 'Examen' and promotion.id_promotion='$id'
	 		group by matiere.id_matiere,typeseance.type
	 		order by matiere.id_matiere asc,typeseance.type asc");
  /*mémorisation des enregistrements de la seconde requête pour régler le problème des groupes*/
  $num2=mysql_num_rows($result2);
  if ($num2>0) {
    $row=mysql_fetch_row($result2);
    $i=0;
    $ligne[$i][0]=$row[0];/*cgu*/
    $ligne[$i][1]=$row[1];/*departement*/
    $ligne[$i][2]=$row[2];/*id matiere*/
    $ligne[$i][3]=$row[3];/*libelle matiere*/
    $ligne[$i][4]=$row[4];/*prof*/
    $ligne[$i][5]=$row[5];/*type seance*/
    $ligne[$i][6]=$row[6];/*nb_heures*/
    $ligne[$i][7]=1;/*compteur gpes td*/
    $i++;
    $j=$i;
    $row=mysql_fetch_row($result2);
    while($i<$num2)
      {
	if($row[3]==$ligne[$j-1][3] && $row[5]==$ligne[$j-1][5])
	  $ligne[$j-1][7]++;
	else{
	  /*mémorisation de la matière affichée*/
	  $ligne[$j][0]=$row[0];
	  $ligne[$j][1]=$row[1];
	  $ligne[$j][2]=$row[2];
	  $ligne[$j][3]=$row[3];
	  $ligne[$j][4]=$row[4];
	  $ligne[$j][5]=$row[5];
	  $ligne[$j][6]=$row[6];
	  $ligne[$j][7]=1;
	  $j++;
	}
	$i++;
	$row=mysql_fetch_row($result2);
      }
  }
  $i=0; /*compteur d'enregistrements utilisés*/
	/*récupération du nombre d'enregistrements dans $num1*/
  if($result1!=false)
    $num1=mysql_num_rows($result1);
  else
    $num1=0;
  /*affichage du titre*/
  $titre = mysql_query("SELECT diplome.libelle as L1,promotion.libelle as L2 FROM promotion,diplome WHERE promotion.id_diplome=diplome.id_diplome ORDER BY diplome.libelle");
  $row=mysql_fetch_row($titre);
  print("<center><font size=5>CHARGE de la FORMATION : ".$row[0]." ".$row[1]."</font></center>\n");
  print("<br>\n");
  /*récupération du premier enregistrement*/
  if ($num1!=0)
    {
      $enr=mysql_fetch_row($result1);
      print("<table width=100% border=1 cellspacing=0 cellpadding=0>\n");
      /*entête du tableau*/
      print("<tr align=\"center\">\n");
      print("<td align=center valign=top rowspan=2 width=20><b>Site</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=30><b>FI/FC</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=30><b>Dépt</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=10><b>S.</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=200><b>Intitulé du cours</b></td>\n"); 
      print("<td align=center valign=top rowspan=2 width=150><b>enseignant</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=20><b>Nb TD</b></td>\n");
      print("<td align=center valign=top rowspan=2 width=20><b>Nb TP</b></td>\n");
      print("<td align=center colspan=4 width=175><b>Répartition</b></td>\n");
      print("<td align=center valign=center rowspan=2 width=150><b>Total eq. TD</b></td>\n");
      print("</tr><tr>\n");
      print("<td align=center><b>CM</b></td>\n");
      print("<td align=center><b>TD</b></td>\n");
      print("<td align=center><b>TDm</b></td>\n");
      print("<td align=center><b>TP</b></td>\n");
      print("</tr>\n");
		
      while($i<$num1)
	{
	  $total=0; /*total eq td /ligne*/
	  print("<tr>\n");
	  $matiere=$enr[2]; /*récupration de la matière*/
	  print("<td>\n");
	  print($enr[0]."\n"); /*site*/
	  print("</td><td>\n");
	  print("FI/FC\n");
	  print("</td><td>\n");
	  print($enr[1]."\n"); /*dpt*/
	  print("</td><td>\n");
	  print("1\n");
	  print("</td><td>\n");
	  print($enr[2]."\n"); /*matière*/
	  print("</td><td>\n");
	  print($enr[3]."\n"); /*prof*/
	  print("</td><td>\n");
	  print("1\n"); /*nb groupes td*/
	  print("</td><td>\n");
	  print("1\n"); /*nb groupes tP*/
	  print("</td>\n");
	  if($enr[4]=='CM') /*nombre d'heures s'il s'agit d'un cours magistral*/
	    {
	      if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
	      print("<td>".$enr[5]."</td>\n"); /*affichage du nombre d'heures*/
	      $total+=$enr[5]*1.5; /*ajout au total*/
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $enr=mysql_fetch_row($result1); /*sélection de l'enregistrement suivant*/
	      $i++; /*incrémentation du nombre d'enregistrements utilisés*/
	    }else  /*il ne s'agit pas d'un cours magistral*/
	      print("<td>&nbsp;</td>\n");
	  if($enr[4]=='TD' && $matiere==$enr[2])
	    {
	      if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
	      print("<td>".$enr[5]."</td>\n");
	      $total+=$enr[5];
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $enr=mysql_fetch_row($result1);
	      $i++;
	    }else print("<td>&nbsp;</td>\n");
	  if($enr[4]=='TDm' && $matiere==$enr[2])
	    {
	      if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
	      print("<td>".$enr[5]."</td>\n");
	      $total+=$enr[5];
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $enr=mysql_fetch_row($result1);
	      $i++;
	    }else print("<td>&nbsp;</td>\n");
	  if($enr[4]=='TP' && $matiere==$enr[2])
	    {
	      if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
	      print("<td>".$enr[5]."</td>\n");
	      $total+=$enr[5]*2/3;
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $enr=mysql_fetch_row($result1);
	      $i++;
	    }else print("<td>&nbsp;</td>\n");

	  /*affichage du total*/
	  print("<td align=center><b>".$total."</b></td></tr>\n");
	  /*ajout au total général et remise à zéro de total*/
	  $totalgene+=$total;
	  if(($totalgene==(int)$totalgene)!=0) $totalgene=(int)$totalgene;
	  $total=0;
	}/*while*/
      $i=0;
      while($i<$j)
	{
	  $total=0; /*total eq td /ligne*/
	  print("<tr>\n");
	  $matiere=$ligne[$i][3]; /*récupération de la matière*/
	  print("<td>\n");
	  print($ligne[$i][0]."\n"); /*site*/
	  print("</td><td>\n");
	  print("FI/FC\n");
	  print("</td><td>\n");
	  print($ligne[$i][1]."\n"); /*dpt*/
	  print("</td><td>\n");
	  print("1\n");
	  print("</td><td>\n");
	  print($ligne[$i][3]."\n"); /*matière*/
	  print("</td><td>\n");
	  print($ligne[$i][4]."\n"); /*prof*/
	  print("</td><td>\n");
	  print($ligne[$i][7]."\n"); /*nb groupes td*/
	  print("</td><td>\n");
	  /*nb groupes TP*/
	  if($ligne[$i][1]=='Informatique')
	    print($ligne[$i][7]."\n");
	  else
	    print("1\n"); 
	  print("</td>\n");
	  if($ligne[$i][5]=='CM') /*nombre d'heures s'il s'agit d'un cours magistral*/
	    {
	      if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
	      print("<td>".$ligne[$i][6]."</td>\n"); /*affichage du nombre d'heures*/
	      $total+=$ligne[$i][6]*1.5; /*ajout au total*/
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $i++; /*incrémentation du nombre d'enregistrements utilisés*/
	    }else  /*il ne s'agit pas d'un cours magistral*/
	      print("<td>&nbsp;</td>\n");
	  if($ligne[$i][5]=='TD' && $matiere==$ligne[$i][3])
	    {
	      if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
	      print("<td>".$ligne[$i][6]."</td>\n");
	      $total+=$ligne[$i][6];
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $i++;
	    }else print("<td>&nbsp;</td>\n");
	  if($ligne[$i][5]=='TDm' && $matiere==$ligne[$i][3])
	    {
	      if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
	      print("<td>".$ligne[$i][6]."</td>\n");
	      $total+=$ligne[$i][6];
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $i++;
	    }else print("<td>&nbsp;</td>\n");
	  if($ligne[$i][5]=='TP' && $matiere==$ligne[$i][3])
	    {
	      if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
	      print("<td>".$ligne[$i][6]."</td>\n");
	      $total+=$ligne[$i][6]*2/3;
	      if(($total==(int)$total)!=0) $total=(int)$total;
	      $i++;
	    }else print("<td>&nbsp;</td>\n");
	  /*affichage du total*/
	  if($total==(int)($total))
	    printf("<td align=center><b>%d</b></td></tr>\n",$total);
	  else	
	    printf("<td align=center><b>%0.2f</b></td></tr>\n",$total);
	  /*ajout au total général et remise à zéro de total*/
	  $totalgene+=$total;
	  if(($totalgene==(int)$totalgene)!=0) $totalgene=(int)$totalgene;
	  $total=0;
	}/*while*/
      print("</table>\n");
      /*affichage du pied de page*/
      print("<table border=1 align=right cellspacing=0 cellpadding=0>\n");
      if($total==(int)($total))
	printf("<tr><td width=150><b>Total :&nbsp; &nbsp; &nbsp; %d</b></td></tr>\n",$totalgene);
      else	
	printf("<tr><td width=150><b>Total :&nbsp; &nbsp; &nbsp;%0.2f</b></td></tr>\n",$totalgene);
      print("</table>\n");
    }
  else {print("<h3>Aucune matière ni enseignant enregistrés pour cette formation</h3>");}
}
print("</body></html>\n");
?> 
Return current item: EmploiNet : a timetable web manager