1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<?php
require('fpdf186/fcartepdf.php');
[...]
for($m=1; $m <= $nb_carte; $m++) {
$carte_encours = $m ; // Ne donnera une valeur ENTIERE = PAGE_Numéro que toutes les 10 cartes
$carte_max = $page_numero*10 ; // Rupteur de la Carte pour changer Page
if ($colonne > 3) { // Limitation à 4 colonnes
$colonne = 0 ; // Réinitialisation du numéro de Colonne
$pilier = 1 ; // Deuxième colonne d'une Carte
$ligne += 1 ; // Réajustement du rang de la ligne à écrire, calé sur la première information (Prénom - Nom)
$ligne_reference = $ligne ; // mise à jour de la référence pour le Prénom - Nom
}
else {
$pilier = $colonne+1 ;
$ligne = $ligne_reference ; // Remise à niveau par rapport à la colonne précédente
}
[...]
$une_carte = mysqli_fetch_row($result_y) ;
$id_club = $une_carte[1] ;
if ($id_club < 10) { $id_club = "0000" ; }
elseif ($id_club < 1000) { $id_club = "0".$id_club ; }
$prenom = stripslashes($une_carte[2]) ;
$prenom = mb_convert_encoding($prenom, 'ISO-8859-1', 'UTF-8') ; // Conversion des caractères stockés en Record > caractères accentués en PDF
$nom = stripslashes($une_carte[3]) ;
$nom = mb_convert_encoding($nom, 'ISO-8859-1', 'UTF-8') ; // Conversion des caractères stockés en Record > caractères accentués en PDF
$personnage = $prenom." ".$nom ;
$cellule[$ligne][$colonne] = "Année 2026" ;
$cellule[$ligne][$pilier] = $personnage ;
$adresse_1 = stripslashes($une_carte[12]) ;
$adresse_1 = mb_convert_encoding($adresse_1, 'ISO-8859-1', 'UTF-8') ; // Conversion des caractères stockés en Record > caractères accentués en PDF
$ligne += 1 ;
$cellule[$ligne][$colonne] = "Adhérent" ;
$cellule[$ligne][$pilier] = $adresse_1 ;
$adresse_2 = stripslashes($une_carte[13]) ;
if (strlen($adresse_2 > 2)) {
$adresse_2 = mb_convert_encoding($adresse_2, 'ISO-8859-1', 'UTF-8') ; // Conversion des caractères stockés en Record > caractères accentués en PDF
$ligne += 1 ;
$cellule[$ligne][$colonne] = $id_club ;
$cellule[$ligne][$pilier] = $adresse_2 ;
}
[idem pour les autres champs]
$colonne += 2 ; // En fin de Carte car on commence à la colonne ZERO
$pilier = $colonne+1 ;
}
} // Fin LOOP sur chaque CARTE
class PDF extends FPDF {
// Table
function VoidTable($cellule) {
$w = array(25,70,25,70) ; // 2 x 105 à l'origine
// Colors, line width and font
$this->SetFillColor(255,255,255) ;
$this->SetTextColor(0) ;
$this->SetDrawColor(255,255,255);
$this->SetLineWidth(0.05); // 0.2 à l'origine
$this->SetFont('') ;
if (count($cellule) > 0) { // Il y a AU MOINS 1 enregistrement trouvé ==> Ecriture d'au moins 1 LIGNE
$fill = false ;
// for($i=1; $i <= count($cellule); $i++) {
foreach($cellule as $case) {
// 4 colonnes par ligne (2 Cartes ayant 2 colonnes)
// 1er Pilier de la page
if(substr($case[0],0,3) == "Ann") {
// si correspond à "Année XXXX", écriture en purple mauve + Prénom-Nom en Bold taille 11
$this->SetFont('Arial','B',12);
$this->SetTextColor(192,0,192) ;
$this->Cell($w[0],5,$case[0],'LR',0,'C',$fill);
$this->SetFont('Arial','B',11);
}
elseif($case[0] == "Adhérent") {
// si "Adhérent", écriture en rouge sang de boeuf + écriture standard
$this->SetFont('Arial','B',10);
$this->SetTextColor(128,0,36) ;
$this->Cell($w[0],5,$case[0],'LR',0,'C',$fill);
$this->SetFont('Arial','',9);
}
else {
// sinon, écriture de l'ID-Club en bleu de France + écriture standard
$this->SetFont('Arial','B',14);
$this->SetTextColor(36,64,128) ;
$this->Cell($w[0],5,$case[0],'LR',0,'C',$fill);
$this->SetFont('Arial','',9);
}
$this->SetTextColor(0,0,0) ;
$this->Cell($w[1],5,$case[1],'LR',0,'C',$fill);
[...]
} // Fin de IF COUNT($cellule) > 0
} // Fin Function VoidTable
} // Fin CLASS
$pdf = new PDF();
$pdf->SetAutoPageBreak(true, 20); // Gestion automatique des sauts de page avec une marge de 20mm
$pdf->SetFont('Arial','',10) ;
$pdf->AddPage() ;
$pdf->VoidTable($cellule) ;
$pdf->AliasNbPages() ;
$pdf->Output() ; |
Partager