je suis un béotien en programmation, j'ai créé un tout petit espace de gestion des membres d'une société en PhP - MySql.
J'arrive à afficher certaines données sans aucun problème en Html dans un navigateur, mais j'aimerais les convertir en pdf avant de les afficher pour que les différents utilisateurs de cet espace puissent soit les enregistrer, soit les imprimer simplement.
J'ai essayé plein de choses , parcouru votre forum , mais je ne trouve pas de solutions, actuellement seule une page blanche s'affiche sans aucune erreur.
Je me permets de joindre le code (peut-être y décèlerez-vous les erreurs fatales !!!
<!-- Test Html2pdf
<?php
// Test Html2pdf
ob_start();
?>
Fin du test -->
<?php
/*
-----------------------------------
------ SCRIPT DE PROTECTION -------
ListeGroupe.php
-----------------------------------
*/
// Se connecter à la base de données.
require_once ('../../Admin/Modeles/connexion.php');
// Récupération de la base de données
include ('../../Admin/Modeles/base.php');
// On relaye la session
session_start();
// vérification sur la session authentification (la session est elle enregistrée ?)
if ($_SESSION["authentification"]){
// ici les éventuelles actions en cas de réussite de la connexion
} else {
// redirection en cas d'echec
header("Location:../../index.php?erreur=intru");
}
// Inclusion l'en-tête fonctionnelle (CSS et Javascript).
include ('../../Admin/Modeles/Head_Gestion.php');
// Inclure l'en-tête HTML.
include ('../../Admin/Modeles/Entete_Gestion.php');
// Récupération des données transmises
$id_GroupeT = $_GET['ChoixGr'];
// Recherche du nom du groupe
if ($id_GroupeT == '-2') {
$GroupeN = 'Tous';
// Titre de la page
$page_title = 'Liste des membres de tous les groupes';
} else {
$req = "SELECT NomGroupe FROM ".$base."groupes WHERE id_Gr = $id_GroupeT";
// Exécuter la requête.
$res = @mysql_query ($req);
// Nombre de groupes enregistrés
$nomb = mysql_num_rows ($res);
// mise en variable du nom du groupe
if ($nomb > 0) {
while ($rowGr = mysql_fetch_array($res, MYSQL_NUM)) {
$GroupeN = $rowGr[0];
}
}
// Titre de la page
$page_title = 'Liste des membres du groupe '.$GroupeN;
}
?>
<title><?php echo $page_title; ?></title>
<?php
// Créer la requête.
// Si tous les groupes sont choisis
if ($id_GroupeT == '-2') {
$query = "SELECT M.id_Mem, M.Nom, M.Prenom, M.Adresse1, M.Adresse2, M.NP, M.Domicile, M.Tel_P, M.Port1, M.Port2, M.Mail1, M.Mail2,
M.DateNaiss, M.Nageuse, M.Entraineur, M.Test5, M.Test6, M.Test7, M.Test8, M.Test9, M.Test10, M.Test11, M.Test12,
G.id_Gr, G.NomGroupe, CG.id_Gr, CG.id_Mem, CG.id_An
FROM ".$base."membres M, ".$base."groupes G, ".$base."compogroupe CG
WHERE CG.id_Gr = G.id_Gr
AND M.id_Mem = CG.id_Mem
AND CG.id_An = ".$_SESSION['id_an']."
AND M.DateDep < '1990-12-31'
GROUP BY M.id_Mem
ORDER BY G.id_Gr ASC, M.Entraineur DESC, M.Nom ASC, M.Prenom ASC";
// s'il y a un groupe choisi
} else {
$query = "SELECT M.id_Mem, M.Nom, M.Prenom, M.Adresse1, M.Adresse2, M.NP, M.Domicile, M.Tel_P, M.Port1, M.Port2, M.Mail1, M.Mail2,
M.DateNaiss, M.Nageuse, M.Entraineur, M.Test5, M.Test6, M.Test7, M.Test8, M.Test9, M.Test10, M.Test11, M.Test12,
G.id_Gr, G.NomGroupe, CG.id_Gr, CG.id_Mem, CG.id_An
FROM ".$base."membres M, ".$base."groupes G, ".$base."compogroupe CG
WHERE CG.id_Gr = $id_GroupeT
AND M.id_Mem = CG.id_Mem
AND CG.id_An = ".$_SESSION['id_an']."
AND M.DateDep < '1990-12-31'
GROUP BY M.id_Mem
ORDER BY M.Entraineur DESC, M.Nom ASC, M.Prenom ASC";
}
// Exécuter la requête.
$result = @mysql_query($query);
// Nombre de dates enregistrées
$num = mysql_num_rows($result);
// On regarde si il faut mettre les informations au pluriel
$pluriel = ($num > 1)?'s':'';
if ($num > 0) {
if ($id_GroupeT == '-2') {
?>
<!-- Informations et titre du tableau affichant les différents éléments de la table Membres -->
<link href="../../Admin/Modeles/StyleSheet.css" rel="stylesheet" type="text/css" />
<h1><?php echo $page_title ; ?></h1>
<p><center><b>Il y a <?php echo $num; ?> personne<?php echo $pluriel; ?> inscrite<?php echo $pluriel; ?> dans les différents groupes.</b></center></p>
<table align="center" cellspacing="0" cellpadding="3" border="0">
<tr valign="top">
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Nom du<br />groupe</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Nom</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Prénom</b></td>
<td valign="middle" align="center" rowspan="2" class="hgb"><b>Date de<br />naissance</b></td>
<td valign="middle" align="center" rowspan="2" class="hgb"><b>Degré de<br />test</b></td>
<td valign="middle" align="left" class="gh"><b>Adresse</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>N° postal</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Domicile</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Tél. maison</b></td>
<td valign="middle" align="left" class="gh"><b>Portable perso</b></td>
<td valign="middle" align="left" class="ghd"><b>E-mail perso</b></td>
</tr>
<tr>
<td valign="middle" align="left" class="gb"><b>Compl. adresse</b></td>
<td valign="middle" align="left" class="gb"><b>Portable parents</b></td>
<td valign="middle" align="left" class="gbd"><b>E-mail parents</b></td>
</tr>
<?php
// Afficher tous les enregistrements.
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
// calcul de la date de naissance
$D_Naiss = explode('-', $row[12]);
$JD_Naiss = $D_Naiss[2];
$MoisD_Naiss = $D_Naiss[1];
$MD_Naiss = $tab_mois[$MoisD_Naiss-1];
$AD_Naiss = $D_Naiss[0];
// Calcul du test à afficher
$Test = array();
if ($row[15] == 1) {
$Test[] = "5" ;
} else {
$Test[] = "";
}
if ($row[16] == 1) {
$Test[] = "6";
} else {
$Test[] = "";
}
if ($row[17] == 1) {
$Test[] = "7";
} else {
$Test[] = "";
}
if ($row[18] == 1) {
$Test[] = "8";
} else {
$Test[] = "";
}
if ($row[19] == 1) {
$Test[] = "9";
} else {
$Test[] = "";
}
if ($row[20] == 1) {
$Test[] = "10";
} else {
$Test[] = "";
}
if ($row[21] == 1) {
$Test[] = "11";
} else {
$Test[] = "";
}
if ($row[22] == 1) {
$Test[] = "12";
} else {
$Test[] = "";
}
$TestF = max($Test);
?>
<tr>
<td valign="middle" align='center' rowspan="2" class="gb"><font size='-1'><?php echo $row[24] ; ?></font></td>
<td valign="middle" align='left' rowspan="2" class="gb"><font size='-1'><?php echo stripslashes($row[1]) ; ?></font></td>
<td valign="middle" align='left' rowspan="2" class="gb"><font size='-1'><?php echo stripslashes($row[2]) ; ?></font></td>
<td valign="middle" align='center' rowspan="2" class="gb"><font size='-1'><?php echo $JD_Naiss." ".$MD_Naiss." ".$AD_Naiss ;?></font></td>
<td valign="middle" align='center' rowspan="2" class="gb"><font size='-1'><?php echo $TestF ;?></font></td>
<td valign="middle" align="left" class="g"><font size='-1'><?php echo stripslashes($row[3]) ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[5] ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[6] ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[7] ; ?></font></td>
<td valign="middle" align="left" class="g"><font size='-1'><?php echo $row[8] ; ?></font></td>
<td valign="middle" align="left" class="gd"><font size='-1'><?php echo $row[10] ; ?></font></td>
</tr>
<tr>
<td valign="middle" align="left" class="gb"><font size='-1'><?php echo stripslashes($row[4]) ?></font></td>
<td valign="middle" align="left" class="gb"><font size='-1'><?php echo $row[9] ; ?></font></td>
<td valign="middle" align="left" class="gbd"><font size='-1'><?php echo $row[11] ; ?></font></td>
</tr>
<?php
} //end while
?>
</table>
<?php
} else {
?>
<!-- Informations et titre du tableau affichant les différents éléments de la table Membres -->
<link href="../../Admin/Modeles/StyleSheet.css" rel="stylesheet" type="text/css" />
<h1><?php echo $page_title ; ?></h1>
<p><center><b>Il y a <?php echo $num; ?> personne<?php echo $pluriel; ?> inscrite<?php echo $pluriel; ?> dans ce groupe.</b></center></p>
<table align="center" cellspacing="0" cellpadding="3" border="0">
<tr valign="top">
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Nom</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Prénom</b></td>
<td valign="middle" align="center" rowspan="2" class="hgb"><b>Date de<br />naissance</b></td>
<td valign="middle" align="center" rowspan="2" class="hgb"><b>Degré de<br />test</b></td>
<td valign="middle" align="left" class="gh"><b>Adresse</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>N° postal</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Domicile</b></td>
<td valign="middle" align="left" rowspan="2" class="hgb"><b>Tél. maison</b></td>
<td valign="middle" align="left" class="gh"><b>Portable perso</b></td>
<td valign="middle" align="left" class="ghd"><b>E-mail perso</b></td>
</tr>
<tr>
<td valign="middle" align="left" class="gb"><b>Compl. adresse</b></td>
<td valign="middle" align="left" class="gb"><b>Portable parents</b></td>
<td valign="middle" align="left" class="gbd"><b>E-mail parents</b></td>
</tr>
<?php
// Afficher tous les enregistrements.
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
// calcul de la date de naissance
$D_Naiss = explode('-', $row[12]);
$JD_Naiss = $D_Naiss[2];
$MoisD_Naiss = $D_Naiss[1];
$MD_Naiss = $tab_mois[$MoisD_Naiss-1];
$AD_Naiss = $D_Naiss[0];
// Calcul du test à afficher
$Test = array();
if ($row[15] == 1) {
$Test[] = "5" ;
} else {
$Test[] = "";
}
if ($row[16] == 1) {
$Test[] = "6";
} else {
$Test[] = "";
}
if ($row[17] == 1) {
$Test[] = "7";
} else {
$Test[] = "";
}
if ($row[18] == 1) {
$Test[] = "8";
} else {
$Test[] = "";
}
if ($row[19] == 1) {
$Test[] = "9";
} else {
$Test[] = "";
}
if ($row[20] == 1) {
$Test[] = "10";
} else {
$Test[] = "";
}
if ($row[21] == 1) {
$Test[] = "11";
} else {
$Test[] = "";
}
if ($row[22] == 1) {
$Test[] = "12";
} else {
$Test[] = "";
}
$TestF = max($Test);
?>
<tr>
<td valign="middle" align='left' rowspan="2" class="gb"><font size='-1'><?php echo stripslashes($row[1]) ; ?></font></td>
<td valign="middle" align='left' rowspan="2" class="gb"><font size='-1'><?php echo stripslashes($row[2]) ; ?></font></td>
<td valign="middle" align='center' rowspan="2" class="gb"><font size='-1'><?php echo $JD_Naiss." ".$MD_Naiss." ".$AD_Naiss ;?></font></td>
<td valign="middle" align='center' rowspan="2" class="gb"><font size='-1'><?php echo $TestF ;?></font></td>
<td valign="middle" align="left" class="g"><font size='-1'><?php echo stripslashes($row[3]) ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[5] ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[6] ; ?></font></td>
<td valign="middle" align="left" rowspan="2" class="gb"><font size='-1'><?php echo $row[7] ; ?></font></td>
<td valign="middle" align="left" class="g"><font size='-1'><?php echo $row[8] ; ?></font></td>
<td valign="middle" align="left" class="gd"><font size='-1'><?php echo $row[10] ; ?></font></td>
</tr>
<tr>
<td valign="middle" align="left" class="gb"><font size='-1'><?php echo stripslashes($row[4]) ?></font></td>
<td valign="middle" align="left" class="gb"><font size='-1'><?php echo $row[9] ; ?></font></td>
<td valign="middle" align="left" class="gbd"><font size='-1'><?php echo $row[11] ; ?></font></td>
</tr>
<?php
} //end while
?>
</table>
<?php
} // end if
?>
<?php
} else {
?>
<p><center><font size='+1'>
<b>Il n'y a aucune nageuse inscrite dans ce groupe.</b></font>
</center></p>
<?php
}//end if
?>
<!--
<p align="center"><a href="../../accueil.php"><strong>< Retour à l'accueil</strong></a></p>
-->
<?php
// Fermer la connexion.
mysql_close();
// Inclure le footer HTML.
include ('../../Admin/Modeles/PPage.html');
?>
<!-- Test Html2pdf
<?php
// Test Html2pdf
$content = ob_get_clean();
require('../../html2pdf_v4.03/html2pdf.class.php');
try {
$pdf = new HTML2PDF('l', 'A4', 'fr');
$pdf->pdf->SetDisplayMode('fullpage');
$pdf->writeHTML($content);
$pdf->Output('test.pdf');
}
catch (HTML2PDF_exception $erreur) {
die($erreur);
}
?>
Fin du test -->
Un grand merci pour votre aide
MaximEck