IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[phpToPDF] Colonnes manquantes


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [phpToPDF] Colonnes manquantes
    Bonjour à tous,

    J'ai le code suivant, plutôt basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <? include ('phpToPDF.php') ;
    require_once('Connections/webservices.php'); 
     
    mysql_select_db($database_webservices, $webservices);
    $query_commune = "SELECT * FROM communes";
    $commune = mysql_query($query_commune, $webservices) or die(mysql_error());
    $row_commune = mysql_fetch_assoc($commune);
     
    $PDF=new phpToPDF();
    $PDF -> AddPage();
    $PDF -> SetMargins (20,20) ;
    $PDF -> startPageNums () ;
     
    // Définition des propriétés du tableau.
    $proprietesTableau = array(
        'TB_ALIGN' => 'L',
        'L_MARGIN' => 15,
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => '0.3',
     
     
    // Définition des propriétés du reste du contenu du tableau.    
    $proprieteContenu = array(
        'T_COLOR' => array(0,0,0),
        'T_SIZE' => 10,
        'T_FONT' => 'Arial',
        'T_ALIGN_COL0' => 'L',
        'T_ALIGN' => 'R',
        'V_ALIGN' => 'M',
        'T_TYPE' => '',
        'LN_SIZE' => 6,
        'BG_COLOR_COL0' => array(245, 245, 150),
        'BG_COLOR' => array(255,255,255),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.1,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',)
     
    // Définition des propriétés du header du tableau.    
    $proprieteHeader = array(
        'T_COLOR' => array(150,10,10),
        'T_SIZE' => 12,
        'T_FONT' => 'Arial',
        'T_ALIGN' => 'C',
        'V_ALIGN' => 'T',
        'T_TYPE' => 'B',
        'LN_SIZE' => 7,
        'BG_COLOR_COL0' => array(170, 240, 230),
        'BG_COLOR' => array(170, 240, 230),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.2,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',)
     
    // Contenu du header du tableau.    
    $contenuHeader = array("Code postal","Nom");
    $contenuTableau = array() ;
     
    do {
        array_push($contenuTableau, $row_commune['code_postal'],$row_commune['nom']);
        } while($row_commune = mysql_fetch_assoc($commune)) ;
     
    //     ------------------------------
    //     Ecriture d'un tableau
    //     ------------------------------
     
    //    print_r ($contenuTableau) ;
    //    echo '<BR><BR>' ;
     
        $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
     
        mysql_close();
        $PDF->Output();
    ?>
    Si j'affiche le tableau avec print_r() ou dans une page HTML toute bête, c'est correct.
    Malheureusement, en PDF, j'ai un tableau avec une seule colonne (entête nom), et tout le reste s'affiche "à la ligne", genre :

    NOM
    97233
    SCHOELCHER
    97231
    LE ROBERT..

    au lieu de

    Code postal Nom
    97233 SCHOELCHER
    97231 LE ROBERT

    J'ai le même résultat si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Contenu du header du tableau.    
    $contenuHeader = array(
            "Nous", "Eux",
        );
     
    $contenuTableau = array(
        "Titine", 'Tonton', 
        "Charlie", "Charlot"
        );
    J'ai une seule colonne EUX avec toutes les données en dessous.
    Mais si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $contenuHeader = array(50,50,50
    		"Nous", "Eux",
    	);
     
    $contenuTableau = array(
    	"Titine", 'Tonton', 
    	"Charlie", "Charlot"
    	);
    j'ai une erreur undefined offset.
    J'utilise mal contenuHeader ???
    Je suis perplexe...
    Merci de m'éclairer !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 65
    Points
    65
    Par défaut
    Bonsoir, je ne suis pas un "pro" mais voici comment je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <? include ('phpToPDF.php') ;
    require_once('Connections/webservices.php'); 
     
    mysql_select_db($database_webservices, $webservices);
    $query_commune = "SELECT * FROM communes";
    $commune = mysql_query($query_commune, $webservices) or die(mysql_error());
    //$row_commune = mysql_fetch_assoc($commune);
    $nbcommunes = mysql_num_rows($commune);
     
    $PDF=new phpToPDF();
    $PDF -> AddPage();
    $PDF -> SetMargins (20,20) ;
    $PDF -> startPageNums () ;
     
    // Définition des propriétés du tableau.
    $proprietesTableau = array(
        'TB_ALIGN' => 'L',
        'L_MARGIN' => 15,
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => '0.3',
     
     
    // Définition des propriétés du reste du contenu du tableau.    
    $proprieteContenu = array(
        'T_COLOR' => array(0,0,0),
        'T_SIZE' => 10,
        'T_FONT' => 'Arial',
        'T_ALIGN_COL0' => 'L',
        'T_ALIGN' => 'R',
        'V_ALIGN' => 'M',
        'T_TYPE' => '',
        'LN_SIZE' => 6,
        'BG_COLOR_COL0' => array(245, 245, 150),
        'BG_COLOR' => array(255,255,255),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.1,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',)
     
    // Définition des propriétés du header du tableau.    
    $proprieteHeader = array(
        'T_COLOR' => array(150,10,10),
        'T_SIZE' => 12,
        'T_FONT' => 'Arial',
        'T_ALIGN' => 'C',
        'V_ALIGN' => 'T',
        'T_TYPE' => 'B',
        'LN_SIZE' => 7,
        'BG_COLOR_COL0' => array(170, 240, 230),
        'BG_COLOR' => array(170, 240, 230),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.2,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',)
     
    // Contenu du header du tableau.    
    $contenuHeader = array() ;
    $contenuHeader[] = "Code postal";
    $contenuHeader[] = "Nom";
     
    $contenuTableau = array() ;
     
    /*do {
        array_push($contenuTableau, $row_commune['code_postal'],$row_commune['nom']);
        } while($row_commune = mysql_fetch_assoc($commune)) ;
    */
        for ( $n=0; $n<$nbcommunes; $n++ )
        {
            $ligne=mysql_fetch_object($commune);
            $code_postal=$ligne->code_postal;
            $nom=$ligne->nom;
            $contenuTableau[]=$code_postal;
            $contenuTableau[]=$nom;
        }
     
    //     ------------------------------
    //     Ecriture d'un tableau
    //     ------------------------------
     
    //    print_r ($contenuTableau) ;
    //    echo '<BR><BR>' ;
     
        $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
     
        mysql_close();
        $PDF->Output();
    ?>
    Peut-être pas très élégant mais ça devrait marcher.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Trois fois hélas...
    de m'avoir répondu

    C'était bien essayé, mais ça donne exactement le même résultat : une colonne NOM, puis empilé dessous codes postaux et noms de commune (soupir... )
    Avant de poster, j'ai essayé tous les trucs de remplissage de tableaux que je connaissais. J'y ai passé une nuit, je fatigue.

    Je persiste à penser que c'est quelque chose dans la déclaration de l'entête du tableau qui décale tout.

    Le créateur du script n'est pas dans les parages ? Y'a pas tellement de littérature sur phpToPDF sur le Net.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Je pense avoir trouvé, tu n'as pas défini la taille de tes cellules d'en-tête, essaie ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <? include ('phpToPDF.php') ;
    require_once('Connections/webservices.php'); 
     
    mysql_select_db($database_webservices, $webservices);
    $query_commune = "SELECT * FROM communes";
    $commune = mysql_query($query_commune, $webservices) or die(mysql_error());
    //$row_commune = mysql_fetch_assoc($commune);
    $nbcommunes = mysql_num_rows($commune);
     
    $PDF=new phpToPDF();
    $PDF -> AddPage();
    $PDF -> SetMargins (20,20) ;
    $PDF -> startPageNums () ;
     
    // Définition des propriétés du tableau.
    $proprietesTableau = array(
        'TB_ALIGN' => 'L',
        'L_MARGIN' => 15,
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => '0.3',);
     
     
    // Définition des propriétés du reste du contenu du tableau.    
    $proprieteContenu = array(
        'T_COLOR' => array(0,0,0),
        'T_SIZE' => 10,
        'T_FONT' => 'Arial',
        'T_ALIGN_COL0' => 'L',
        'T_ALIGN' => 'R',
        'V_ALIGN' => 'M',
        'T_TYPE' => '',
        'LN_SIZE' => 6,
        'BG_COLOR_COL0' => array(245, 245, 150),
        'BG_COLOR' => array(255,255,255),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.1,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',);
     
    // Définition des propriétés du header du tableau.    
    $proprieteHeader = array(
        'T_COLOR' => array(150,10,10),
        'T_SIZE' => 12,
        'T_FONT' => 'Arial',
        'T_ALIGN' => 'C',
        'V_ALIGN' => 'T',
        'T_TYPE' => 'B',
        'LN_SIZE' => 7,
        'BG_COLOR_COL0' => array(170, 240, 230),
        'BG_COLOR' => array(170, 240, 230),
        'BRD_COLOR' => array(0,92,177),
        'BRD_SIZE' => 0.2,
        'BRD_TYPE' => '1',
        'BRD_TYPE_NEW_PAGE' => '',);
     
    // Contenu du header du tableau.    
    $contenuHeader = array() ;
    $contenuHeader[] = 25;
    $contenuHeader[] = 50;
    $contenuHeader[] = "Code postal";
    $contenuHeader[] = "Nom";
     
    $contenuTableau = array() ;
    /* 
    do {
        array_push($contenuTableau, $row_commune['code_postal'],$row_commune['nom']);
        } while($row_commune = mysql_fetch_assoc($commune)) ;
    */
        for ( $n=0; $n<$nbcommunes; $n++ )
        {
            $ligne=mysql_fetch_object($commune);
            $code_postal=$ligne->code_postal;
            $nom=$ligne->nom;
            $contenuTableau[]=$code_postal;
            $contenuTableau[]=$nom;
        }
     
    //     ------------------------------
    //     Ecriture d'un tableau
    //     ------------------------------
     
    //    print_r ($contenuTableau) ;
    //    echo '<BR><BR>' ;
     
        $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
     
        mysql_close();
        $PDF->Output();?>
    Bon courage pour la suite !...
    Pour avoir fait des tableaux très complexes à partir d'un BDD, je peux te dire que phpToPDF est performant. Avec le rowspan en plus ce serait super !

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Right


    Merci. Bonne continuation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/12/2013, 00h17
  2. [phpToPDF] Intitulé de colonne de tableau sur deux lignes de tableau
    Par lodan dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/05/2013, 12h47
  3. Colonnes manquantes dans une DBgrid
    Par Maxime-B dans le forum Bases de données
    Réponses: 18
    Dernier message: 05/09/2011, 13h08
  4. Réponses: 9
    Dernier message: 19/09/2008, 18h26
  5. [phpToPDF] Largeur de colonne d'un tableau
    Par gup dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/06/2007, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo