flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
16 févr. 2006 à 17:31
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
20 févr. 2006 à 08:22
Salut,
Je voudrais donner une taille prédéfinie à mes colonnes, j'ai vu que je pouvvais faire qque chose comme ajouter =>50 apres le titre de chaque colonne, mais ca me donne une erreur concernant l'offset.
Est ce que c'est juste une histoire de mauvais placement de cette ligne dans mon code ou autre chose?
Ensuite, je ne comprends pas pouruoi mes entêtes de colonnes n'apparaissent que sur la première page???
Merci d'avance!!
Code pour info :
<?php
if (isset ($_POST['submit']) && $_POST['submit'] === 'Valider') {
$header = array();
$header[] = 'Nom - Prénom';
for ($m=0;$m<count($_POST['choix']);$m++){
switch($_POST['choix'][$m]){
case 'Societe': $header[] = 'Site';
break;
case 'Fixe': $header[] = 'N° Téléphone fixe';
break;
case 'Fax': $header[] = 'N° fax';
break;
case 'Portable': $header[] = 'N° Portable';
break;
case 'Mail': $header[] = 'Adresse e-mail';
break;
default: break;
}
}
$pdf->cell(4.7,1,$header[0],1,0,'C',1);// Le nom dans tous les cas
for($i=0;$i<count($_POST['choix']);$i++)
{
if(isset($_POST['choix'][$i]))
$pdf->cell(4.7,1,$header[$i+1],1,0,'C',1);// les autres postes si cases cochées
}
$resultat = odbc_exec( $cnx, 'SELECT Nom'.$addInQuery.' FROM Annuaire ORDER BY Nom');
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;
while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(4.7,0.7,$row['Nom'],1,0,'C',$fond);
for ($m=0;$m<count($_POST['choix']);$m++){
if(isset($_POST['choix'][$m]))
$pdf->cell(4.7,0.7,$row[$_POST['choix'][$m]],1,0,'C',$fond);
}
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 17 févr. 2006 à 14:31
Et avec le code que j'ai mis ci dessus, au lieu d'avoir les bon noms dans les entêtes des colonnes, j'ai la valeur que je voulais donner a leur largeur c'est à dire 5 5 3 3 3 5
Vous n’avez pas trouvé la réponse que vous recherchez ?
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 17 févr. 2006 à 15:10
OK
Alors, j'ai donc ma base de données access, je veux la récupérer dans un fichier pdf.
Pour cela, l'utilisateur a le choix de récupérer les informations qu'il souhaite, sauf le nom que je ne mets pas dans le formulaire car il faut qu'il apparraisse systématiquement.
<?php
if (isset ($_POST['submit']) && $_POST['submit'] = == 'Valider') {
Connexion à la bdd
$base ="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire= "Annuaire";
//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;
//PDF
define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
Infos concernant le doc pdf qui va être crée
//Titres des colonnes
Création des entêtes des colonnes du doc pdf
$header = array();
$header[] = 'Nom - Prénom';
for ($m=0;$m<count($_POST['choix']);$m++){
switch($_POST['choix'][$m]){
case 'Societe': $header[] = 'Site';
break;
case 'Fixe': $header[] = 'N° Téléphone fixe';
break;
case 'Fax': $header[] = 'N° fax';
break;
case 'Portable': $header[] = 'N° Portable';
break;
case 'Mail': $header[] = 'Adresse e-mail';
break;
default: break;
}
}
L'entête 'Nom - Prénom' apparait systématiquement puisque l'utilisateur n'a pas la possibilité de l'enlever
$pdf->cell(4.7,1,$header[0],1,0,'C',1);// Le nom dans tous les cas
Selon les cases cochées par l'utilisateur, on fait apparaitre ou non la colonne
for($i =0;$i<count($_POST['choix']);$i++)
{
if(isset($_POST['choix'][$i]))
$pdf->cell(4.7,1,$header[$i+1],1,0,'C',1);// les autres postes si cases cochées
}
Selon les cases cochées par l'utilisateur, j'adapte la requete qui va etre faite dans ma bdd grace à l'implode
$resultat = odbc_exec( $cnx, 'SELECT Nom'.$addInQuery.' FROM Annuaire ORDER BY Nom');
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;
while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(4.7,0.7,$row['Nom'],1,0,'C',$fond);
for ($m=0;$m<count($_POST['choix']);$m++){
if(isset($_POST['choix'][$m]))
$pdf->cell(4.7,0.7,$row[$_POST['choix'][$m]],1,0,'C',$fond);
}
Ici donc mon "formulaire" qui permet à l'utilisateur de sélectionner les informations qu'il va récupérer sur le doc pdf.Par défaut, je coche toutes les cases.