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
| //////////////////////////////////////////////////////////////////////
//Récupération des données de la base et création du fichier.txt /////
/////////////////////////////////////////////////////////////////////
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
include("../config/config.php");
$bdd = new PDO($Hote_BD_PDO, $user_PDO, $PW_PDO, $pdo_options);
$file = fopen ("fichier.txt" , "w+");
$req = $bdd->query("SELECT * FROM licence ORDER BY id_licence DESC ");
while($donnees = $req->fetch())
{
$_xml = $donnees['nomproduit'].";".$donnees['quantite_licence'].";".$donnees['prix']." \r\n";
fputs ($file , $_xml);
fputs ($file , "\n");
}
fclose($file);
$req->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
///////////////////////////////////////////
// Génération du fichier PDF /////////////
/////////////////////////////////////////
require('fpdf.php');
class PDF extends FPDF
{
//Chargement des données
function LoadData($file)
{
//Lecture des lignes du fichier
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
//Tableau Données
function FancyTable($header,$data)
{
//Couleurs, épaisseur du trait et police grasse
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//En-tête
$w=array(40,35,45);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
$this->Ln();
//Restauration des couleurs et de la police
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('');
//Données
$fill=false;
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
$this->Cell($w[1],6,$row[1],'LR',0,'R',$fill);
$this->Cell($w[2],6,utf8_decode($row[2]),'LR',0,'R',$fill);
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
//Titres des colonnes
$header=array('Nom produit','Quantité','Prix');
//Chargement des données
$data=$pdf->LoadData('fichier.txt');
$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output();
//} |
Partager