# Moyenne de DU et DP $moy = ($notedp + $notedh) / 2; $corps .= '<td border="0.5" width="' . $col4 . '%">' . sprintf("%.2f", $moy) . '</td>'; #Coefficient $corps .= '<td border="0.5" width="' . $col5 . '%">' . $g['COEFF'] . '</td>'; #Total $total = $moy * $g['COEFF']; $corps .= '<td border="0.5" width="' . $col6 . '%">' . sprintf("%.2f", $total) . '</td>'; #Rang $corps .= '<td border="0.5" width="' . $col7 . '%"></td>'; #Moyenne de classe $corps .= '<td border="0.5" width="' . $col8 . '%"></td>'; #Min / Max $corps .= '<td border="0.5" width="' . $col9 . '%"></td>'; #Appreciation $corps .= '<td border="0.5" width="' . $col10 . '%">' . getAppreciations($moy) . '</td>'; # Sommes $sumdh += $notedh; $sumdp += $notedp; $sumcoeff += $g['COEFF']; $sumtotal += $total; $corps .= '</tr>'; } # Ecrire le GROUPE 1 $corps .= '<tr style="background-color:#F7F7F7;line-height:14px;text-align:center;">' . '<td border="0.5" witdh="' . $col1 . '%" style="text-align:left">' . $gp[0]['DESCRIPTION'] . '</td>' . '<td border="0.5" width="' . $col2 . '%">' . $sumdp . '</td>' . '<td border="0.5" width="' . $col3 . '%">' . $sumdh . '</td>'; # Moyenne totale du groupe $moy = ($sumdh + $sumdp) / $sumcoeff; $corps .= '<td border="0.5" width="' . $col4 . '%">' . sprintf("%.2f", $moy) . '</td>' . '<td border="0.5" width="' . $col5 . '%">' . $sumcoeff . '</td>' . '<td border="0.5" width="' . $col6 . '%">' . $sumtotal . '</td>' . '<td style="text-align:left" border="0.5" colspan="4" width="' . ($col7 + $col8 + $col9 + $col10) . '%">' . 'Moyenne : </td></tr>'; } $corps .= "</tbody></table>"; $pdf->WriteHTMLCell(0, 5, 20, $y + 35, $corps);
function getBody($groupe, $col, $el, $codeperiode, &$sumtotal = 0, &$sumcoeff = 0) { $str = ""; $sumdh = $sumdp = $summoy = 0; foreach ($groupe as $g) { if ($g['IDELEVE'] == $el['IDELEVE']) { $str .= '<tr style="text-align:center;font-weight:bold;">'; # Matiere //$g['NOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['NOM']); //$g['PRENOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['PRENOM']); $str .= '<td border="1" style="text-align:left;" ' . 'width="' . $col[1] . '%"> <b style="text-transform:uppercase">' . trim($g['BULLETIN']) . '</b><br/> <span style="font-size:7px;font-weight:normal">' . ($g['CIVILITE'] . ' ' . $g['NOM']) . '</span></td>'; # DP if ($codeperiode === "T") { if ($g['SEQ1'] != "" && $g['SEQ1'] != null) { $str .= '<td style="line-height:17px" border="1" width="' . $col[2] . '%">' . sprintf("%.2f", $g['SEQ1']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[2] . '%"></td>'; } # DH if ($g['SEQ2'] != "" && $g['SEQ2'] != null) { $str .= '<td style="line-height:17px" border="1" width="' . $col[3] . '%">' . sprintf("%.2f", $g['SEQ2']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[3] . '%"></td>'; } } # Moyenne DP et DH if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[4] . '%">' . sprintf("%.2f", $g['MOYENNE']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[4] . '%"></td>'; } # Coeff if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[5] . '%">' . sprintf("%.0f", $g['COEFF']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[5] . '%"></td>'; } # Total = coeff * moy if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[6] . '%">' . sprintf("%.2f", $g['TOTAL']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[6] . '%"></td>'; } # Rang if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[7] . '%">' . $g['RANG'] . '</td>'; } else { $str .= '<td border="1" width="' . $col[7] . '%"></td>'; } #Moyenne de classe if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[8] . '%">' . sprintf("%.2f", $g['MOYCL']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[8] . '%"></td>'; } #Min / Max if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[9] . '%">' . sprintf("%.2f", $g['NOTEMIN']) . ' / ' . sprintf("%.2f", $g['NOTEMAX']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[9] . '%"></td>'; } #Appreciation if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px;text-align:left;"' . ' border="1" width="' . $col[10] . '%" > <b style="text-transform:uppercase">' . getAppreciations($g['MOYENNE']) . '</b></td>'; } else { $str .= '<td border="1" width="' . $col[10] . '%"></td>'; } # Sommes #$sumdh += $g['MOYENNE']; #$sumdp += $g['DP']; $sumcoeff += $g['COEFF']; $sumtotal += $g['TOTAL']; $summoy += $g['MOYENNE']; $str .= '</tr>'; } } if (!empty($groupe)) { $param = ["sumtotal" => $sumtotal, "sumcoeff" => $sumcoeff, "description" => $g['DESCRIPTION'], "codeperiode" => $codeperiode]; $str .= printGroupe($col, $param); } return $str; }
#Impression des statistique par matiere # if (empty($notations)) { return; } $pdf->AddPage(); # Mettre la page en paysage, valeur par defaut est en portrait $y = FIRST_TITLE; #Deactiver le rendu par defaut des entetes pour les page en paysage $pdf->setPageOrientation('L'); //$pdf->LandScapeHeader(); $pdf->setFont("Times", "", 13); $titre = '<p style="text-decoration:underline">STATISTIQUES DES NOTES PAR CLASSE</p>'; $pdf->WriteHTMLCell(0, 50, 100, $y + 10, $titre); $cours = '<p><i style="text-decoration:underline">Matière</i> : ' . $matiere['LIBELLE'] . '</p>'; $pdf->WriteHTMLCell(0, 50, 10, $y + 20, $cours); $pdf->WriteHTMLCell(0, 50, 10, $y + 26, '<p>Période : ' . $notations[0]['SEQUENCELIBELLE'] . '</p>'); $corps = '<table border="0.5" cellpadding="5"><thead>' . '<tr style="text-align:center;font-weight:bold"><th rowspan="2">Classe</th>' . '<th rowspan="2">Enseignants</th>' . '<th rowspan="2">Effectif évalué</th>' . '<th rowspan="2">Moyenne générale de la classe</th>' . '<th rowspan="2">Nombre de Moy >= 10</th>' . '<th colspan="2">Taux de réussite</th><th rowspan="2">Taux de réussite général</th>' . '<th rowspan="2">Observation</th></tr>' . '<tr><th>Garçons</th><th>Filles</th></tr></thead><tbody>'; foreach ($notations as $n) { $notes = $array_notes[$n['IDNOTATION']]; $nbre = effectifEvalues($notes); # taux[0] = taux des garcons # taux[1] = taux des filles # taux[2] = taux generale de reussite $taux = tauxReussites($notes); $corps .= '<tr style="text-align:center"><td>' . $n['NIVEAUHTML'] . '</td><td>' . $n['NOM'] . ' ' . $n['PRENOM'] . '</td>' . '<td>' . $nbre . '</td><td>' . sprintf("%.2f", $n['NOTEMOYENNE']) . '</td>' . '<td>' . count(moyenneSup10($notes)) . '</td>' . '<td>' . sprintf("%.2f", $taux[0]) . '%</td><td>' . sprintf("%.2f", $taux[1]) . '%</td>' . '<td>' . sprintf("%.2f", $taux[2]) . '%</td>' . '<td>' . getAppreciations($n['NOTEMOYENNE']) . '</td></tr>'; } $corps .= '</tbody></table>'; $pdf->WriteHTMLCell(0, 5, 10, $y + 35, $corps); $pdf->Output();
function getBody($groupe, $col, $el, &$sumtotal = 0, &$sumcoeff = 0) { $str = ""; $sumdh = $sumdp = $summoy = 0; foreach ($groupe as $g) { if ($g['IDELEVE'] == $el['IDELEVE']) { $str .= '<tr style="text-align:center">'; # Matiere //$g['NOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['NOM']); //$g['PRENOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['PRENOM']); $str .= '<td border="0.5" style="text-align:left" width="' . $col[1] . '%"> <b>' . strtoupper($g['BULLETIN']) . '</b><br/> <span style="font-size:7px">' . ($g['CIVILITE'] . ' ' . $g['NOM'] . ' ' . $g['PRENOM']) . '</span></td>'; # DP if ($g['DP'] != "" && $g['DP'] != null) { $str .= '<td border="0.5" width="' . $col[2] . '%">' . sprintf("%.2f", $g['DP']) . '</td>'; } else { $str .= '<td border="0.5" width="' . $col[2] . '%"></td>'; } # DH if ($g['DH'] != "" && $g['DH'] != null) { $str .= '<td border="0.5" width="' . $col[3] . '%">' . sprintf("%.2f", $g['DH']) . '</td>'; } else { $str .= '<td border="0.5" width="' . $col[3] . '%"></td>'; } # Moyenne DP et DH $str .= '<td border="0.5" width="' . $col[4] . '%">' . sprintf("%.2f", $g['MOYENNE']) . '</td>'; # Coeff $str .= '<td border="0.5" width="' . $col[5] . '%">' . $g['COEFF'] . '</td>'; # Total = coeff * moy $str .= '<td border="0.5" width="' . $col[6] . '%">' . sprintf("%.2f", $g['TOTAL']) . '</td>'; # Rang $str .= '<td border="0.5" width="' . $col[7] . '%">' . $g['RANG'] . '</td>'; #Moyenne de classe $str .= '<td border="0.5" width="' . $col[8] . '%">' . sprintf("%.2f", $g['MOYCL']) . '</td>'; #Min / Max $str .= '<td border="0.5" width="' . $col[9] . '%">' . sprintf("%.2f", $g['NOTEMIN']) . ' / ' . sprintf("%.2f", $g['NOTEMAX']) . '</td>'; #Appreciation $str .= '<td border="0.5" width="' . $col[10] . '%" style="text-align:left"> ' . getAppreciations($g['MOYENNE']) . '</td>'; # Sommes $sumdh += $g['DH']; $sumdp += $g['DP']; $sumcoeff += $g['COEFF']; $sumtotal += $g['TOTAL']; $summoy += $g['MOYENNE']; $str .= '</tr>'; } } if (!empty($groupe)) { $str .= printGroupe($sumtotal, $sumcoeff, $col, $g['DESCRIPTION']); } return $str; }
$pdf->SetPrintHeader(false); $y = PDF_Y; $x = PDF_X; $middle = PDF_MIDDLE; $pdf->setFont("Times", '', 9); $titre = '<b>LISTE DES NOTES DE L\'ELEVE : <br/>' . $eleve['NOM'] . ' ' . $eleve['PRENOM'] . '</b>'; $pdf->WriteHTMLCell(0, 5, $middle - 25, $y, $titre); $pdf->WriteHTMLCell(100, 100, 150, $y, '<b>Année Acad. ' . $_SESSION['anneeacademique'] . '</b>'); $cols[0] = 10; $cols[1] = 20; $cols[2] = 20; $cols[3] = 10; $cols[4] = 7; $cols[5] = 20; $pdf->setFont("Times", '', 7); $corps = '<table cellpadding="2" border="1"><thead> <tr border ="1" style="font-weight:bold" > <td border="1" width ="' . $cols[0] . '%">Séquences</td> <td border="1" width ="' . $cols[1] . '%">Matières</td> <td border="1" width ="' . $cols[2] . '%" >Description</td> <td border="1" width ="' . $cols[3] . '%" >Date</td> <td border="1" width ="' . $cols[4] . '%" >Note</td> <td border="1" width ="' . $cols[5] . '%" >Appréciation</td> </tr></thead><tbdoy>'; foreach ($notes as $n) { $d = new DateFR($n['DATEDEVOIR']); $corps .= '<tr><td border="1" width ="' . $cols[0] . '%">' . $n['LIBELLEHTML'] . "</td>" . '<td border="1" width ="' . $cols[1] . '%">' . $n['BULLETIN'] . "</td>" . '<td border="1" width ="' . $cols[2] . '%">' . $n['DESCRIPTION'] . '</td>' . '<td border="1" width ="' . $cols[3] . '%">' . $d->getDate() . " " . $d->getMois(3) . " " . $d->getYear(2) . "</td>" . '<td align="right" border="1" width ="' . $cols[4] . '%">' . $n['NOTE'] . "</td>" . '<td border="1" width ="' . $cols[5] . '%">' . getAppreciations($n['NOTE']) . '</td></tr>'; } $corps .= '</tbody></table>'; $pdf->WriteHTMLCell(0, 5, $x + 10, $y + 10, $corps); $pdf->Output();
$pdf->WriteHTMLCell(0, 5, 90, $y + 25, '<p>Note mini : <i>' . $notation['NOTEMIN'] . '</i></p>'); $pdf->WriteHTMLCell(0, 5, 140, $y + 25, '<p>Coefficient : <i>' . $enseignement['COEFF'] . '</i></p>'); $pdf->WriteHTMLCell(0, 5, 90, $y + 30, '<p>Note moy. : <i>' . sprintf("%.2f", $notation['NOTEMOYENNE']) . '</i></p>'); $pdf->WriteHTMLCell(0, 5, 140, $y + 30, '<p>Période : ' . $notation['SEQUENCELIBELLE'] . '</p>'); $corps = '<table border="0.5" cellpadding="5"><tr style="text-align:center"><td rowspan="2">Effectif évalué</td>' . '<td rowspan="2">Moyenne générale de la classe</td>' . '<td rowspan="2">Nombre de Moy >= 10</td>' . '<td colspan="2">Taux de réussite</td><td rowspan="2">Taux de réussite général</td>' . '<td rowspan="2">Observation</td></tr>' . '<tr><td>Garçons</td><td>Filles</td></tr>'; $nbre = effectifEvalues($notes); # taux[0] = taux des garcons # taux[1] = taux des filles # taux[2] = taux generale de reussite $taux = tauxReussites($notes); $corps .= '<tr style="text-align:center"><td>' . $nbre . '</td><td>' . sprintf("%.2f", $notation['NOTEMOYENNE']) . '</td>' . '<td>' . count(moyenneSup10($notes)) . '</td>' . '<td>' . sprintf("%.2f", $taux[0]) . '%</td><td>' . sprintf("%.2f", $taux[1]) . '%</td><td>' . sprintf("%.2f", $taux[2]) . '%</td>' . '<td>' . getAppreciations($notation['NOTEMOYENNE']) . '</td></tr>'; $corps .= '</table>'; $pdf->WriteHTMLCell(0, 5, 10, $y + 40, $corps); $corps = '<table cellpadding = "2"><thead ><tr border="0.5" style="font-weight:bold"><th width="5%" border="0.5">N°</th>' . '<th border="0.5"width="50%">Noms et Prénoms</th>'; $corps .= '<th width="10%" border="0.5">Note</th><th width="15%" border="0.5">Absent</th>' . '<th width="20%" border="0.5">Observations</th></tr></thead><tbody>'; $i = 1; foreach ($notes as $n) { $absent = ""; $ap = getAppreciations($n['NOTE']); $corps .= '<tr><td width="5%" border="0.5">' . $i . '</td>' . '<td width="50%" border="0.5">' . $n['NOM'] . ' ' . $n['PRENOM'] . '</td>'; if ($n['ABSENT'] == 1) { $n['NOTE'] = ""; $absent = 'ABSENT'; $ap = ""; } $corps .= '<td width="10%" border="0.5">' . $n['NOTE'] . '</td>' . '<td width="15%" border="0.5">' . $absent . '</td>' . '<td width="20%" border="0.5">' . $ap . '</td></tr>'; $i++; } $corps .= '</tbody></table>'; $pdf->WriteHTMLCell(0, 5, 10, $y + 80, $corps); $pdf->Output();
} $corps .= '<td border="1" width="' . ($col[3] + 1) . '%">' . $sexeredouble . '</td>'; $corps .= getBodyRecapitulatif($groupe1, $col[2], $rang['IDELEVE']); $corps .= getBodyRecapitulatif($groupe2, $col[2], $rang['IDELEVE']); $corps .= getBodyRecapitulatif($groupe3, $col[2], $rang['IDELEVE']); $corps .= printTravailRecapitulatif($rang, $col[2], $prev); $prev = $rang['RANG']; # Discripline foreach ($discipline as $disc) { if ($disc['IDELEVE'] == $rang['IDELEVE']) { break; } } $disc = array(); $corps .= printDisciplineRecapitulatif($disc, $col[4]); $corps .= '<td border="1" width="' . ($col[3] + 3) . '%"><b style="text-transform:uppercase">' . getAppreciations($rang['MOYGENERALE']) . '</b></td>'; $i++; $corps .= '</tr>'; } $corps .= '</tbody></table>'; $pdf->WriteHTMLCell(0, 0, $x - 5, $y + 5, $corps); $pdf->Output(); function writeVerticalText($input) { $str = ''; for ($i = 0; $i < strlen($input) - 1; $i++) { $str .= $input[$i] . '<br style="line-height:7px" />'; } $str .= $input[$i]; return $str; }
function getBodyAnnuelle($groupe, $col, $el, &$sumtotal = 0, &$sumcoeff = 0) { $str = ""; foreach ($groupe as $g) { if ($g['IDELEVE'] == $el['IDELEVE']) { $str .= '<tr style="text-align:center;font-weight:bold;">'; # Matiere //$g['NOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['NOM']); //$g['PRENOM'] = preg_replace("%[^\033-\176\r\n\t]%", '', $g['PRENOM']); $str .= '<td border="1" style="text-align:left;" ' . 'width="' . $col[10] . '%"> <b style="text-transform:uppercase">' . trim($g['BULLETIN']) . '</b><br/> <span style="font-size:7px;font-weight:normal">' . ($g['CIVILITE'] . ' ' . $g['NOM']) . '</span></td>'; # NOTES SEQUENTIELLES if (!empty($g['SEQ1'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[1] . '%">' . sprintf("%.2f", $g['SEQ1']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[1] . '%"></td>'; } if (!empty($g['SEQ2'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[2] . '%">' . sprintf("%.2f", $g['SEQ2']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[2] . '%"></td>'; } if (!empty($g['SEQ3'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[3] . '%">' . sprintf("%.2f", $g['SEQ3']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[3] . '%"></td>'; } if (!empty($g['SEQ4'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[4] . '%">' . sprintf("%.2f", $g['SEQ4']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[4] . '%"></td>'; } if (!empty($g['SEQ5'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[5] . '%">' . sprintf("%.2f", $g['SEQ5']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[5] . '%"></td>'; } if (!empty($g['SEQ6'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[6] . '%">' . sprintf("%.2f", $g['SEQ6']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[6] . '%"></td>'; } # Moyenne DES 6 SEQUENCE if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[7] . '%">' . sprintf("%.2f", $g['MOYENNE']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[7] . '%"></td>'; } # Coeff if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[11] . '%">' . sprintf("%.0f", $g['COEFF']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[11] . '%"></td>'; } # Total = coeff * moy if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[13] . '%">' . sprintf("%.2f", sprintf("%.2f", $g['MOYENNE']) * $g['COEFF']) . '</td>'; } else { $str .= '<td border="1" width="' . $col[13] . '%"></td>'; } # Rang if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px" border="1" width="' . $col[8] . '%">' . $g['RANG'] . '</td>'; } else { $str .= '<td border="1" width="' . $col[8] . '%"></td>'; } #Appreciation if (!empty($g['COEFF'])) { $str .= '<td style="line-height:17px;text-align:left;"' . ' border="1" width="' . $col[9] . '%" > <b style="text-transform:uppercase">' . getAppreciations($g['MOYENNE']) . '</b></td>'; } else { $str .= '<td border="1" width="' . $col[9] . '%"></td>'; } $sumcoeff += $g['COEFF']; $sumtotal += $g['TOTAL']; $str .= '</tr>'; } } if (!empty($groupe)) { $param = ["sumtotal" => $sumtotal, "sumcoeff" => $sumcoeff, "description" => $g['DESCRIPTION']]; $str .= printGroupeAnnuelle($col, $param); } return $str; }