begin process at 2012 05 28 23:17:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Fichier pdf crée via php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fichier pdf crée via php

jeudi 16 février 2006 à 17:31:11 | Fichier pdf crée via php

flopad

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') {


$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');

 $pdf=new FPDF('L','cm','A4');
 
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);

//Titres des colonnes

$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

if (isset($_POST['choix'])){
    $addInQuery = implode(',', $_POST['choix']);
    $addInQuery = ','.$addInQuery;
}
else $addInQuery = '';
 
$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);
 }

   $pdf->SetXY(1,$pdf->GetY()+0.7);
   $fond=!$fond;
  }
$pdf->output();
 
}

?>
<html>
<head>
</head>
<body>

<form action="test.php" method="POST">

<input type = "checkbox" name = "choix[]" value = "Societe" checked = "checked" /> Site
<br>
<input type = "checkbox" name = "choix[]" value = "Fixe" checked = "checked" /> N° téléphone fixe
<br>
<input type = "checkbox" name = "choix[]" value = "Fax" checked = "checked" /> N° fax
<br>
<input type = "checkbox" name = "choix[]" value = "Portable" checked = "checked" /> N° portable
<br>
<input type = "checkbox" name = "choix[]" value = "Mail" checked = "checked" /> Adresse e-mail
<br>
<br>
<br>
<input type="submit" value="Valider" name="submit"/>

</form>
</body>
</html>

jeudi 16 février 2006 à 17:37:40 | Re : Fichier pdf crée via php

malalam

Administrateur CodeS-SourceS
Hello,

une erreur d'offset, c'est que tu accèes à une clef d'un tableau qui n'est pas définie.

Exemple :
$aTab = array ('bla', 'bli', 'blo');

si je fais echo $aTab[3];
j'ai une erreur d'offset : la clef 3 n'est pas définie. Je n'ai que les clefs 0, 1 et 2.
vendredi 17 février 2006 à 08:26:29 | Re : Fichier pdf crée via php

flopad

Ah maintenant, lorsque je rajoute ce qui est en rouge ci-dessous, ca me sort : Parse error: syntax error, unexpected T_DOUBLE_ARROW
Comment je peux corriger ca...?

//Titres des colonnes

$header = array();
$header[] = 'Nom - Prénom'=>50;
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;
    }
}

vendredi 17 février 2006 à 08:33:23 | Re : Fichier pdf crée via php

flopad

Et si je fais ça, ca m'écris les valeurs numériques dans mes entêtes de colonnes :

//Titres des colonnes

$header = array(50,50,30,30,30,50);
$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;
    }
}

vendredi 17 février 2006 à 09:17:55 | Re : Fichier pdf crée via php

malalam

Administrateur CodeS-SourceS
Lol, faut revoir ta façon de créer des tableaux, Flopad :-)
Tu veux avoir quoi dans ce tableau ?

$header = array ('Nom - Prenom' => 50);
Tu auras ujn tableau de cette forme :
$header['Nom - prenom'] = 50;
(tu peux aussi le créer comme ça, d'ailleurs).

Mais bon, je ne saisis pas ce que tu essayes vraiment de faire, en fait.

vendredi 17 février 2006 à 09:22:47 | Re : Fichier pdf crée via php

flopad

La j'ai modifié de cette manière mais ca me donne des erreurs d'offset sur les 2 lignes en rouge :

//Titres des colonnes

$header = array();
$header['Nom - Prénom'] = 5;
for ($m=0;$m<count($_POST['choix']);$m++){
    switch($_POST['choix'][$m]){
        case 'Societe':     $header['Site'] = 5;
                    break;
        case 'Fixe':         $header['N° Téléphone fixe'] = 3;
                    break;
        case 'Fax':         $header['N° fax'] = 3;
                    break;
        case 'Portable':     $header['N° Portable'] = 3;
                    break;
        case 'Mail':         $header['Adresse e-mail'] = 5;
                    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

vendredi 17 février 2006 à 09:34:50 | Re : Fichier pdf crée via php

malalam

Administrateur CodeS-SourceS
Ben évidemment, tes clefs sont associatives (ce sont des chaines de caractères)! Et tu appelles ensuite ton tableau aavec des clefs numériques : elles n'existent pas!
vendredi 17 février 2006 à 09:35:15 | Re : Fichier pdf crée via php

malalam

Administrateur CodeS-SourceS
Au passage, cette ligne : $header = array(); est inutile.
vendredi 17 février 2006 à 09:51:05 | Re : Fichier pdf crée via php

flopad

D'accord, le soucis vient donc du fait que je définis $header['Site'] et que je rappelle ça plus bas avec $header[0] etc...?

Comment je peux faire pour arranger ce bazard...??
vendredi 17 février 2006 à 09:53:59 | Re : Fichier pdf crée via php

malalam

Administrateur CodeS-SourceS
Exactement.
Ben je ne sais pas moi, lol, je n'ai toujours pas compris ce que tu veux faire.
Choisis, clef associative, ou clef numérique.

1 2 3 4

Cette discussion est classée dans : post, pdf, choix, header, annuaire


Répondre à ce message

Sujets en rapport avec ce message

Utilisation fpdf et php [ par flopad ] Bonjour, désolé d'insister et de revenir à la charge mais j'ai un gros soucis avec mon code que je n'arrive pas à résoudre et dont j'ai vraiment besoi Génération d'un fichier pdf [ par flopad ] Bonjour, j'ai un formulaire avec des checkboxs qui permet à l'utilisateur de sélectionner les données qu'il veut exporter de la bdd au document pdf.Je Export base de données en fichier pdf [ par flopad ] Bonjour tout le monde, j'ai un soucis que je n'arrive pas à régler et qui devient assez urgent pour moi, j'ai une base de données Access qui contient Creation fichier pdf [ par flopad ] Hello,j'exporte ma base access en un fichier pdf grace au code suivant, j'aimerais pouvoir préciser la largeur que doit faire chaque colonne.Comment f pb avec $_POST [ par joebuz ] Salut,j'ai un formulaire avec 30 champs textes.Les champs sont appelés de la manière suivante :choix_1 ; choix_2 ; choix_3 ; ... ; choix_30Pour récupé problem header aidez moi s'il vous plait [ par stanne02 ] bonjour a tous voila j'ais un problem avec se code voici le message d'erreurWarning: Cannot modify header information - headers already sent by (outpu header et variable [ par rduvrac ] Bonjour, j'essaye de mmetre des variables dans mon header mais ça bloque ... je dois pas l'écrire comme il faut (encore que si c'est possible ;-) ) Checkbox Formulaire Mail [ par Orange73 ] Hello,Voilà j'ai un formulaire avec une liste de checkbox de se style :// ou NAME change suivant les box<font Cacher une liste [ par M000004965 ] Bonjour à tous,Dans une page j'utilise une liste multiple, je dois récupérer les choix de l'utilisateur pour un traitement ultérieur dans une fonction pas d'inscription dans la base apres confirmation bouton "oui" [ par christophe110 ] Bonjour,Je suis débutant en php.J'ai fait une newsletter ou, sur une première page l'identifiant rempli un formulaire.Puis, il est dirigé vers une sec


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales