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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
| <?php session_start();
require('PDF_Label.php');
// Faire la connexion à la BDD, avant l'envoi d'infos au header... aucun caractère envoyé au navigateur avant ...
include_once ("Param_Bases_HV.php");
$my_cnx = mysqli_connect($my_host, $my_user, $my_pswd, $my_base);
mysqli_query($my_cnx, 'SET NAMES utf8'); // 19/10/2018 Forçage du jeu de caractères en 'utf8' pour la connection
header('Content-Type: text/html; charset=UTF-8');
function affiche_civilite($code_civilite) { // celle du code_civilite de la personne
if (!empty($code_civilite) and intval($code_civilite) > 0 ) {
global $my_cnx;
$ma_requete = "SELECT * FROM civilites WHERE id_civilite = $code_civilite";
$resultat = $my_cnx->query ($ma_requete);
$ligne = $resultat->fetch_array (MYSQLI_ASSOC); // une seule ligne retournée et contenant les infos
return $ligne["civilite"];
}
}
function remove_accents($champ) {
$search = array('à','á','â','ô','è','é','ê','ë','ç','û','ï');
$replace = array('a','a','a','o','e','e','e','e','c','u','i');
$champ = str_replace($search,$replace,$champ);
return $champ;
}
/*--------------------------------------------------------------------------------
Pour créer l'objet on a 2 manières :
soit on donne les valeurs d'un format personnalisé en les passant dans un tableau
soit on donne le nom d'un format AVERY
--------------------------------------------------------------------------------*/
// Exemple avec un format personnalisé
// $pdf = new PDF_Label(array('paper-size'=>'A4', 'metric'=>'mm', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99, 'height'=>38, 'font-size'=>14));
// Perso HVT85.fr AVERY L7160 ??? 3 x 7 = 21 par 25 feuilles
$pdf = new PDF_Label(array('paper-size'=>'A4', 'metric'=>'mm', 'marginLeft'=>10, 'marginTop'=>20, 'NX'=>3, 'NY'=>7, 'SpaceX'=>2, 'SpaceY'=>0, 'width'=>63.5, 'height'=>38, 'font-size'=>9));
// marge_gauche 4 marge_haut Nb en L Nb en H EspaceH EspaceV Dim Largeur Dim Hauteur Police
// Format standard
// $pdf = new PDF_Label('L7160'); // 2 en largeur
// $pdf = new PDF_Label('L8560');
$pdf->AddPage();
// On sélectionne et imprime les étiquettes
$today = date("H:i:s");
$couple_edite = [];
$nb_cple = 0;
$nb_solo = 0;
$nb_pers = 0;
$nb_labl = 0;
$nb_etiq = 0; // Création du tableau qui hébergera les membres du couple
if(isset($_SESSION['requete_liste_export_Etiquettes'] )) {
$my_sql = $_SESSION['requete_liste_export_Etiquettes']; // Requête pour edition filtrée par doyenné, venant de 'Menu_Personne_HV.php'
}else{
echo " IL devrait toujours y avoir une requete dans S_SESSION... filtrée ou pas !!! "; echo "<br>"; echo "<br>"; exit; //
// $my_sql = "SELECT * FROM personnes ORDER BY code_paroisse, nom, prenom "; // Requête SANS filtre
}
// echo "<br>"; echo "requete utilisée dans DISTRIB en 60 : ".$my_sql; echo "<br>"; echo "<br>"; exit;
$result = mysqli_query($my_cnx, $my_sql) or die ('Erreur ici en 51 : '.mysqli_error($my_cnx) );
$nb = mysqli_num_rows($result);
while ($ligne = mysqli_fetch_assoc($result) ) {
// $ordre++;
$id_personne = $ligne['id_personne'];
$code_civilite_1 = $ligne['code_civilite']; $civilite_1 = affiche_civilite ($ligne['code_civilite']); $civilite_1 = remove_accents($civilite_1);
$prenom_1 = $ligne['prenom']; $prenom_1 = remove_accents($prenom_1); // echo "<br>"; echo "<br>"; echo "prenom : ".$prenom;
$nom_1 = $ligne['nom'];
$code_conjoint = $ligne['code_conjoint'];
$adresse = $ligne['adresse']; $adresse = remove_accents($adresse);
$adresse_2 = $ligne['adresse_2']; $adresse_2 = remove_accents($adresse_2);
$cp_ville = $ligne['cp_ville'];
$code_doy = $ligne['code_doyenne'];
$code_par = $ligne['code_paroisse'];
for($i=1; $i<=1; $i++) { // Permettrait de démarrer à la i_ième étiquette de la page
$nb_pers ++;
if ($code_conjoint <> '' and $code_conjoint <> 100 ) { // Un couple est détecté, ... donc 1 seule Etiquette est prévue, et si c'est la première, Impression des 2 id_hv sur la même étiquette
$id_hv1 = $id_personne;
$id_hv2 = $code_conjoint;
$my_sql = "SELECT * FROM personnes WHERE id_personne = ".$id_hv2; // Lecture des infos du 2° conjoint
$resultc = mysqli_query($my_cnx, $my_sql) or die ('Erreur ici en 90 : '.mysqli_error($my_cnx) );
$nbc = mysqli_num_rows($resultc); // Nombre de conjoint trouvé !!!
while ($ligne = mysqli_fetch_assoc($resultc) ) {
$code_civilite_2 = $ligne['code_civilite']; $civilite_2 = affiche_civilite ($ligne['code_civilite']); $civilite_2 = remove_accents($civilite_2);
$prenom_2 = $ligne['prenom']; $prenom_2 = remove_accents($prenom_2); // echo "<br>"; echo "<br>"; echo "prenom : ".$prenom;
$nom_2 = $ligne['nom'];
}
if(!in_array($id_hv1, $couple_edite) or !in_array($id_hv2, $couple_edite) ) { // Test pour savoir si le 1° ou le 2° conjoint n'ont pas déjà eu leur étiquette de 'COUPLE'
$text = sprintf("%s\n%s\n%s\n%s\n%s\n%s\n%s","$civilite_1 $prenom_1 $nom_1","$civilite_2 $prenom_2 $nom_2", "$adresse", "$adresse_2", "$cp_ville","---------------------------------------------------","1) id_HV: $id_hv1 2) id_HV: $id_hv2");
$text = sprintf("%s\n%s\n%s\n%s\n%s\n%s\n%s","$civilite_1 $prenom_1 $nom_1","$civilite_2 $prenom_2 $nom_2", "$adresse", "$adresse_2", "$cp_ville","---- (Doy.:$code_doy) -------- (Par.:$code_par) ----","1) id_HV: $id_hv1 2) id_HV: $id_hv2");
$pdf->Add_Label($text); // Ajout d'une étiquette de couple à imprimer
$nb_labl++;
$nb_etiq++;
$nb_cple++;
}
$couple_edite [] = $id_hv1; // On mémorise en cumulant dans un tableau l'id_personne du 1° membre du couple trouvé
$couple_edite [] = $id_hv2; // On mémorise en cumulant dans un tableau l'id_personne du 2° membre du couple trouvé
}else{ // Cette personne n'est pas en copuple
$text = sprintf("%s\n%s\n%s\n%s\n%s\n%s","$civilite_1 $prenom_1 $nom_1","$adresse", "$adresse_2", "$cp_ville","---------------------------------------------------"," Votre id_HV : $id_personne");
$text = sprintf("%s\n%s\n%s\n%s\n%s\n%s","$civilite_1 $prenom_1 $nom_1","$adresse", "$adresse_2", "$cp_ville","---- (Doy.:$code_doy) -------- (Par.:$code_par) ----"," Votre id_HV : $id_personne");
$pdf->Add_Label($text); // Ajout d'une étiquette solo à imprimer
$nb_labl++;
$nb_etiq++;
$nb_solo++;
}
}
}
// echo "<br>"; echo "<br>";
// echo " Nombre de personnes 'éxaminées' : ".$nb_pers; echo "<br>"; echo "<br>";
// echo " Nombre d'étiquettes de 'couples' : ".$nb_cple; echo "<br>"; echo "<br>";
// echo " Nombre d'étiquettes 'de solo' : ".$nb_solo; echo "<br>"; echo "<br>";
// echo " Nombre de labels conçus' : ".$nb_labl; echo "<br>"; echo "<br>";
// echo " Nombre d'étiquettes 'à éditer' : ".$nb_etiq; echo "<br>"; echo "<br>";
$pdf->Output();
?> |
Partager