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 :

[FPDF] découverte de fpdf


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut [FPDF] découverte de fpdf
    Bonjour,
    J'ai vu que dans le forum,il y avait des discutions sur fpdf mais je n'ai pas trouver les réponses à mes questions..j'ai télécharger fpdf mais je ne sais pas du tout comment m'en servir avec php....j'ai une page avec header et footer que j'aimerais garder ainsi qu'un tableau avec des données et d'autres éléments dont je n'ai pas besoin pour l'impression..dans cette page j'ai une bouton imprim qui permettra à l'utilisateur d'imprimer ce tableau...comment je dois mettre fpdf dans mon code de la page??? Merci pour votre aide..

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    merci,je vais aller regarder....

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    bonjour,
    je suis aller voir les liens et j'ai récupérer ceci :
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
    require('../fpdf/fpdf.php');
    class PDF extends FPDF
    {
    // En-tête
    function Header()
    {
        // Logo
        $this->Image('images/logo.png',10,6,30);
        // Police Arial gras 15
        $this->SetFont('Arial','B',15);
        // Décalage à droite
        $this->Cell(80);
        // Titre
        $this->Cell(30,10,'Consommation',1,0,'C');
        // Saut de ligne
        $this->Ln(20);
    }
     
    // Pied de page
    function Footer()
    {
        // Positionnement à 1,5 cm du bas
        $this->SetY(-15);
        // Police Arial italique 8
        $this->SetFont('Arial','I',8);
        // Numéro de page
        $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    }
     
    }
    // Instanciation de la classe dérivée
    $pdf = new PDF();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    for($i=1;$i<=40;$i++)
        $pdf->Cell(0,10,'Impression de la ligne numéro '.$i,0,1);
    {
    // Chargement des données
    function LoadData($file)
    {
        // Lecture des lignes du fichier
        $lines = file($file);
        $data = array();
        foreach($lines as $line)
            $data[] = explode(';',trim($line));
        return $data;
    }
     
    // Tableau coloré
    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, 40);
        for($i=0;$i<count($header);$i++)
            $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
        $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,'L',$fill);
            $this->Cell($w[2],6,number_format($row[2],0,',',' '),'LR',0,'R',$fill);
            $this->Cell($w[3],6,number_format($row[3],0,',',' '),'LR',0,'R',$fill);
            $this->Ln();
            $fill = !$fill;
        }
        // Trait de terminaison
        $this->Cell(array_sum($w),0,'','T');
    }
    }
     
    $pdf = new PDF();
    // Titres des colonnes
    $header = array('UF', 'Service', 'Cartouche', 'Date');
    // Chargement des données
    $data = $pdf->LoadData('consommation.txt');
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->BasicTable($header,$data);
    $pdf->AddPage();
    $pdf->ImprovedTable($header,$data);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->Output();
    ?>
    je l'ai adapté..je ne sais pas si c'est bon,ensuite comment j'insert cette page dans mon code je sais que c'est un include mais est ce au niveau de mon bouton imprime ou autrement et comment je récupère les données pour mettre dans ce tableau???

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    j'ai installée fpdf, j'ai crée deux fichier un qui se nomme mysql_table.php qui fait appel au fichier fpdf qui contient des functions ensuite un deuxième fichier pdf.php ceci :
    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
    <?php
    //Connexion à la base
    mysql_connect('localhost','root','');
    mysql_select_db('gestion_cartouche');
     
     
    require('mysql_table.php');
    ob_end_clean();
    class PDF extends PDF_MySQL_Table
    {
    function Header()
    {
        //Titre
        $this->SetFont('Arial','',18);
        $this->Cell(0,6,'Consommation',0,1,'C');
        $this->Ln(10);
        //Imprime l'en-tête du tableau si nécessaire
        parent::Header();
    }
    }
    $pdf=new PDF();
    $pdf->AddPage();
    // tableau
    $pdf->AddCol('uf',20,'UF','C');
    $pdf->AddCol('service',30,'Service');
    $pdf->AddCol('sortie_stock',20,'Stock','R');
    $pdf->AddCol('cartouche',50,'Cartouche');
    $pdf->AddCol('date_sortie',30,'Date','R');
    $prop=array('HeaderColor'=>array(255,150,100),
                'color1'=>array(210,245,255),
                'color2'=>array(255,255,210),
                'padding'=>2);
    $pdf->Table("select * from servcart order by date_sortie",$prop);
    $pdf->Output();
    ?>
    Quand j'arrive sur ma page je clic sur le lien imprimer et j'ai ma page pdf.php qui me renvoye tout le tableau avec les données..ce n'est pas ce que je recherche.
    J'ai dans cette page consommation une liste déroulante avec des champs dates et quand je fais une recherche selon mon choix cela m'affiche un tableau correspondant et c'est cette partie que je veux imprimer et non toutes mes données
    voici le code de ma page consommation :
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <?php
     
    function convertionDate($dateEur){
    		$rsl = explode ('/',$dateEur);
    		$rsl = array_reverse($rsl);
    		return implode($rsl,'-');
    		}
     
              //gestion de la ligne selectionnée
     
              if (isset($_POST['service']))
                      {$v_service=$_POST['service'];}
                            else
                            {$v_service="";}
     
          ?>	       							
           <table width="580" height="209" border="3">  
            <form  name="rechercher" method="POST" action="index.php?idpage=3">       
     
            <tr>
             <td height="35" colspan="5" align="center"  style="font-size:24px" >Consommation de cartouches</td> 
            </tr>    
     
            <tr> 
             <td height="32" colspan="5" align="left">   
              <select  name="service" > 
               <option> Choisissez un service</option>
         <?php	
     
    	  	 $requete = "SELECT DISTINCT service FROM servcart order by service";
    		 $req 	  = mysql_query($requete) or die( mysql_error() ) ; 		
     
    		     while ($donnees=mysql_fetch_array($req))
    		        {			       			     
    			 $service = $donnees['service'];
         ?>
            <!-- affichage de la liste déroulante -->
             <option value="<?php echo $service ;?>" <?php if ($service == $v_service) { echo 'Selected' ; } ?> ><?php echo $service;?></option>
         <?php
                    }
         ?>
            </select>
     
              </td> 
            </tr>
     
            <tr>         
             <td height="30" colspan="5" align="center">      
              <label>Entre : </label>   
               <input type="text" id="datepicker" readonly name="date_debut"  />    
              <label>Et : </label>
               <input type="text" id="datepicker1" readonly  name="date_fin"  />   		             
             </td>
            </tr>
     
            <tr>
              <th height="28" colspan="5" scope="row" align="center">
               <input  type="submit"  value="Rechercher" />  
              </th>
            </tr>
     
            <tr>    
              <th width="52" height="36" bgcolor="#5ab9d8" scope="col">UF</th>
              <th width="159" bgcolor="#5ab9d8" scope="col">SERVICE</th>
              <th width="191"  bgcolor="#5ab9d8" scope="col">CARTOUCHE</th>
              <th width="77"  bgcolor="#5ab9d8" scope="col">DATE</th>
              <th width="63"  bgcolor="#5ab9d8" scope="col">SORTIE STOCK</th>
            </tr>
     
         <?php 
     
    		 if (isset($_POST['date_debut'])and isset($_POST['date_fin'])and isset($_POST['service']))
    	       { 
    		    $v_service=$_POST['service'];  	
    			$date_debut=convertionDate($_POST['date_debut']);
    			$date_fin=convertionDate($_POST['date_fin']);			        
     
    		 $requete2 = "SELECT uf, service,cartouche,sortie_stock,DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE service='$v_service' and  date_sortie BETWEEN '$date_debut' and '$date_fin'  order by DateTemps  ";
    	     $req2 = mysql_query($requete2) or die( mysql_error() ) ; 
     
    			while ($donnees2=mysql_fetch_assoc($req2))
               {			   			    
    	?>
            <tr>
    	     <td height="22"><?php echo $donnees2['uf']; ?></td>
    	     <td><?php echo $donnees2['service']; ?></td>
    	     <td><?php echo $donnees2['cartouche']; ?></td>
             <td><?php echo $donnees2['DateTemps']; ?></td>
    	     <td><?php echo $donnees2['sortie_stock']; ?></td>
            </tr>                   
     
    	 <?php           		          
    		    }}
    	?> 
           </form>          
         </table>
      <?php           		          
    		//lien permettant d'imprimer
    	echo'<a href="php/pdf.php" target="_blank"><img class="image" src="images/print.png" alt="imprimer"/></a>';   
    	?>

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    J'ai installé fpdf, j'ai créé un fichier qui se nomme un fichier pdf.php qui appelle le fichier mysql_table.php.
    Juque là tout va bien et mon pdf s'affiche suite au clic sur un bouton de ma page...
    Le problème c'est que le but c'est de ne devoir imprimer que sur une sélection et pas tout la table.Je m'explique donc j'ai une page où se trouve une liste déroulante où l'on fait un choix ex: toto et deux champs dates où on peut faire un choix de plage de date ex 10/08/2010 à 04/09/2011 et cela me renvoye la plage de date de toto dans un tableau..c'est seulement ce tableau que j'aimerais imprimer..auriez_vous une solution voici les codes des pages concernées :
    code le lapage consommation.php
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <?php
     
    function convertionDate($dateEur){
    		$rsl = explode ('/',$dateEur);
    		$rsl = array_reverse($rsl);
    		return implode($rsl,'-');
    		}
     
              //gestion de la ligne selectionnée
     
              if (isset($_POST['service']))
                      {$v_service=$_POST['service'];}
                            else
                            {$v_service="";}
     
          ?>	       							
           <table width="580" height="209" border="3">  
            <form  name="rechercher" method="POST" action="index.php?idpage=3">       
     
            <tr>
             <td height="35" colspan="5" align="center"  style="font-size:24px" >Consommation de cartouches</td> 
            </tr>    
     
            <tr> 
             <td height="32" colspan="5" align="left">   
              <select  name="service" > 
               <option> Choisissez un service</option>
         <?php	
     
    	  	 $requete = "SELECT DISTINCT service FROM servcart order by service";
    		 $req 	  = mysql_query($requete) or die( mysql_error() ) ; 		
     
    		     while ($donnees=mysql_fetch_array($req))
    		        {			       			     
    			 $service = $donnees['service'];
         ?>
            <!-- affichage de la liste déroulante -->
             <option value="<?php echo $service ;?>" <?php if ($service == $v_service) { echo 'Selected' ; } ?> ><?php echo $service;?></option>
         <?php
                    }
         ?>
            </select>
     
              </td> 
            </tr>
     
            <tr>         
             <td height="30" colspan="5" align="center">      
              <label>Entre : </label>   
               <input type="text" id="datepicker" readonly name="date_debut"  />    
              <label>Et : </label>
               <input type="text" id="datepicker1" readonly  name="date_fin"  />   		             
             </td>
            </tr>
     
            <tr>
              <th height="28" colspan="5" scope="row" align="center">
               <input  type="submit"  value="Rechercher" />  
              </th>
            </tr>
     
            <tr>    
              <th width="52" height="36" bgcolor="#5ab9d8" scope="col">UF</th>
              <th width="159" bgcolor="#5ab9d8" scope="col">SERVICE</th>
              <th width="191"  bgcolor="#5ab9d8" scope="col">CARTOUCHE</th>
              <th width="77"  bgcolor="#5ab9d8" scope="col">DATE</th>
              <th width="63"  bgcolor="#5ab9d8" scope="col">SORTIE STOCK</th>
            </tr>
     
         <?php 
     
    		 if (isset($_POST['date_debut'])and isset($_POST['date_fin'])and isset($_POST['service']))
    	       { 
    		    $v_service=$_POST['service'];  	
    			$date_debut=convertionDate($_POST['date_debut']);
    			$date_fin=convertionDate($_POST['date_fin']);			        
     
    		 $requete2 = "SELECT uf, service,cartouche,sortie_stock,DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE service='$v_service' and  date_sortie BETWEEN '$date_debut' and '$date_fin'  order by DateTemps  ";
    	     $req2 = mysql_query($requete2) or die( mysql_error() ) ; 
     
    			while ($donnees2=mysql_fetch_assoc($req2))
               {			   			    
    	?>
            <tr>
    	     <td height="22"><?php echo $donnees2['uf']; ?></td>
    	     <td><?php echo $donnees2['service']; ?></td>
    	     <td><?php echo $donnees2['cartouche']; ?></td>
             <td><?php echo $donnees2['DateTemps']; ?></td>
    	     <td><?php echo $donnees2['sortie_stock']; ?></td>
            </tr>                   
     
    	 <?php           		          
    		    }}
    	?> 
           </form>          
         </table>
      <?php           		          
    		//lien permettant d'imprimer
    	echo'<a href="php/pdf.php" target="_blank"><img class="image" src="images/print.png" alt="imprimer"/></a>';   
    	?>
    le fichier pdf.php
    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
    <?php
    //Connexion à la base
    mysql_connect('localhost','root','');
    mysql_select_db('gestion_cartouche');
     
    require('mysql_table.php');
    ob_end_clean();
    class PDF extends PDF_MySQL_Table
    {
    function Header()
    {
        //Titre
        $this->SetFont('Arial','',18);
        $this->Cell(0,6,'Consommation',0,1,'C');
        $this->Ln(10);
        //Imprime l'en-tête du tableau si nécessaire
        parent::Header();
    }
    }
    $pdf=new PDF();
    $pdf->AddPage();
    // tableau
    $pdf->AddCol('uf',20,'UF','C');
    $pdf->AddCol('service',30,'Service');
    $pdf->AddCol('sortie_stock',20,'Stock','R');
    $pdf->AddCol('cartouche',50,'Cartouche');
    $pdf->AddCol('date_sortie',30,'Date','R');
    $prop=array('HeaderColor'=>array(255,150,100),
                'color1'=>array(210,245,255),
                'color2'=>array(255,255,210),
                'padding'=>2);
    $pdf->Table("select * from servcart order by date_sortie",$prop);
    $pdf->Output();
    ?>
    Merci pour votre aide

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as aussi une extension PHp pour le PDF

    http://fr.php.net/manual/fr/book.pdf.php

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    je viens de voir le lien mais l'extension pecl c'est pour pdflib est moi j'utilise fpdf en php5

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par davidson81 Voir le message
    je viens de voir le lien mais l'extension pecl c'est pour pdflib est moi j'utilise fpdf en php5
    comme c'est une extension PECL t'as pas besoin de lib en PHP

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    J'ai un peu avancé...
    J'ai changer le lien href dans consommation.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="php/pdf.php?service='.$v_service.'&&date1='.$date_debut.'&&date2='.$date_fin.'" target="_blank"><img class="image" src="images/print.png" alt="imprimer"/></a>';
    et déclarée les variables adéquates et

    j'ai changer le select et déclarée aussi des variables pour pdf.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->Table("select * from servcart where date_sortie between '$date_debut' and '$date_fin' and service='$service' order by date_sortie",$prop);
    et quand je fais imprimer cela me renvoye une page blanche...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    J'arrive a afficher mon pdf mais j'ai un petit souci de déclaration de variable car à l'ouverture de ma page j'ai ces erreurs :

    Notice: Undefined variable: date_debut in C:\Program Files\wamp\www\gestioncart\php\consommation.php on line 100 Call Stack #TimeMemoryFunctionLocation 10.0009370784{main}( )..\index.php:0 20.0139405016include( 'C:\Program Files\wamp\www\gestioncart\php\consommation.php' )..\index.php:66

    Notice: Undefined variable: date_fin dans C: \ Program Files \ wamp \ www \ gestioncart \ php \ consommation.php sur la ligne 100

    La ligne 100 c'est mon lien href de la page consommation.php voici le code :

    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    <?php
    function convertionDate($dateEur){
    		$rsl = explode ('/',$dateEur);
    		$rsl = array_reverse($rsl);
    		return implode($rsl,'-');
    		}
     
              //gestion de la ligne selectionnée
     
              if (isset($_POST['service']))
                      {$v_service=$_POST['service'];}
                            else
                            {$v_service="";}
     
          ?>	       							
           <table width="580" height="209" border="3">  
            <form  name="rechercher" method="POST" action="index.php?idpage=3">       
     
            <tr>
             <td height="35" colspan="5" align="center"  style="font-size:24px" >Consommation de cartouches</td> 
            </tr>    
     
            <tr> 
             <td height="32" colspan="5" align="left">   
              <select  name="service" > 
               <option> Choisissez un service</option>
         <?php	
     
    	  	 $requete = "SELECT DISTINCT service FROM servcart order by service";
    		 $req 	  = mysql_query($requete) or die( mysql_error() ) ; 		
     
    		     while ($donnees=mysql_fetch_array($req))
    		        {			       			     
    			 $service = $donnees['service'];
         ?>
            <!-- affichage de la liste déroulante -->
             <option value="<?php echo $service ;?>" <?php if ($service == $v_service) { echo 'Selected' ; } ?> ><?php echo $service;?></option>
         <?php
                    }
         ?>
            </select>
     
              </td> 
            </tr>
     
            <tr>         
             <td height="30" colspan="5" align="center">      
              <label>Entre : </label>   
               <input type="text" id="datepicker" readonly name="date_debut"  />    
              <label>Et : </label>
               <input type="text" id="datepicker1" readonly  name="date_fin"  />   		             
             </td>
            </tr>
     
            <tr>
              <th height="28" colspan="5" scope="row" align="center">
               <input  type="submit"  value="Rechercher" />  
              </th>
            </tr>
     
            <tr>    
              <th width="52" height="36" bgcolor="#5ab9d8" scope="col">UF</th>
              <th width="159" bgcolor="#5ab9d8" scope="col">SERVICE</th>
              <th width="191"  bgcolor="#5ab9d8" scope="col">CARTOUCHE</th>
              <th width="77"  bgcolor="#5ab9d8" scope="col">DATE</th>
              <th width="63"  bgcolor="#5ab9d8" scope="col">SORTIE STOCK</th>
            </tr>
     
         <?php 
     
    		 if (isset($_POST['date_debut'])and isset($_POST['date_fin'])and isset($_POST['service']))
    	       { 
    		    $v_service=$_POST['service'];  	
    			$date_debut=convertionDate($_POST['date_debut']);
    			$date_fin=convertionDate($_POST['date_fin']);			        
     
    		 $requete2 = "SELECT uf, service,cartouche,sortie_stock,DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE service='$v_service' and  date_sortie BETWEEN '$date_debut' and '$date_fin'  order by DateTemps  ";
    	     $req2 = mysql_query($requete2) or die( mysql_error() ) ; 
     
    			while ($donnees2=mysql_fetch_assoc($req2))
               {			   			    
    	?>
            <tr>
    	     <td height="22"><?php echo $donnees2['uf']; ?></td>
    	     <td><?php echo $donnees2['service']; ?></td>
    	     <td><?php echo $donnees2['cartouche']; ?></td>
             <td><?php echo $donnees2['DateTemps']; ?></td>
    	     <td><?php echo $donnees2['sortie_stock']; ?></td>
            </tr>                   
     
    	 <?php           		          
    		    }}
    	?> 
          </form>          
         </table>   		
     
    <p><a href="<?php echo "php/pdf.php?service=".$v_service."&date1=".$date_debut."&date2=".$date_fin."&target=_blank"; ?>"><img class="image" src="images/print.png" alt="imprimer"/></a></p>
    et la page pdf.php :

    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
    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('gestion_cartouche');
    require('mysql_table.php');
     
    if (isset($_GET['service']) && isset($_GET['date1']) && isset($_GET['date2']))     
    {          
    	$v_service=$_GET['service'];
    	$date_debut=$_GET['date1']; 	
    	$date_fin= $_GET['date2'];
    }
     
    class PDF extends PDF_MySQL_Table
    {
     
    function Header()
    {
    	//Titre
    	$this->SetFont('Arial','',18);
    	$this->Cell(0,6,'Consommation',0,1,'C');
    	$this->Ln(10);
    	//Imprime l'en-tête du tableau si nécessaire
    	parent::Header();
    }	
    }
     
    $pdf=new PDF();
    $pdf->AddPage();
    // tableau
    $pdf->AddCol('uf',20,'UF','C');
    $pdf->AddCol('service',30,'Service');
    $pdf->AddCol('sortie_stock',20,'Stock','R');
    $pdf->AddCol('cartouche',50,'Cartouche');
    $pdf->AddCol('date_sortie',30,'Date','R');
    $prop=array('HeaderColor'=>array(255,150,100),
                'color1'=>array(210,245,255),
                'color2'=>array(255,255,210),
                'padding'=>2);
     
    $data="select * from servcart where service='".$v_service."' and date_sortie BETWEEN '".$date_debut."' and '".$date_fin."' order by date_sortie"; 
    $pdf->Table($data,$prop);
    $pdf->Output();
     
    ?>

  12. #12
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Est ce que je peux savoir pourquoi tu essaie de passer par PDF pour l'impression ? Il existe une propriété de la balise <link> pour ça qui s'appelle media et qui sert, entre autres, à déterminer une feuille de style à appliquer pour l'impression.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <head>
    <link rel="stylesheet" type="text/css" href="theme.css" />
    <link rel="stylesheet" type="text/css" href="decoration.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="print.css" media="print"/>
    </head>

Discussions similaires

  1. [FPDF] générer des pages PHP en PDF
    Par saint-pere dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/09/2005, 18h13
  2. [FPDF] Page PHP convertion PDF totale
    Par toflofr dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 23/09/2005, 13h32
  3. [FPDF] Comment mettre une annotation sur un Pdf déjà existant en PHP
    Par shequet dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/09/2005, 11h23
  4. [FPDF] Rechercher dans des pdf
    Par snike dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/09/2005, 09h58
  5. [FPDF] Cellule sans bordure en haut et en bas
    Par nebule dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/12/2004, 16h07

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