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 :

[PDF] Moteur de recherche et sortie du résultat en PDF


Sujet :

Bibliothèques et frameworks PHP

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut [PDF] Moteur de recherche et sortie du résultat en PDF
    Bonjour ,

    J'ai modifié un moteur de recherche afin de faire mes périodes de facturation et de mes taxes, celui ci fonctionne entre deux dates, il m'affiche les clients, le montant que les clients on payé, la somme total et une calculatrice me génère le montant que je doit payer, j'aimerai sortir ces données sur un PDF.

    J'ai essayé pas mal de solutions mais à chaque fois celui ci me sort qu'un client et je ne sais pas comment faire pour y arrivé.

    Voici le code (juste le php) de ma page concernée (celle ci est encore un brouillon et le code est pas du tout nettoyé désolé les puristes)

    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
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
     
    <?php
    require('fonctions_dates.php');
     
    if(isset($_POST['date1']) && $_POST['date2'] != NULL)
    {
    include('conf.php');
    $date1 = htmlentities($_POST['date1'], ENT_QUOTES);
    $date2 = htmlentities($_POST['date2'], ENT_QUOTES);
     
     
    $query = mysql_query("SELECT * FROM client WHERE date BETWEEN '$date1' AND '$date2'") or die (mysql_error());
    $nb_resultats = mysql_num_rows($query);
    if($nb_resultats != 0)
     
    {
    	function sans_accent($chaine)
    {
       $accent  ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
       $noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
       return strtr(trim($chaine),$accent,$noaccent);
    }
    ?>
      <?php
    include('conf.php');	
    $requete=mysql_query("SELECT SUM(prix) FROM client WHERE date BETWEEN '$date1' AND '$date2'");
    $donnee = mysql_fetch_array($requete);
    $somme=$donnee['SUM(prix)'];
    ?>
     
    <center>
    <h3>Réultats de votre recherche.</h3>
    <p>Nous avons trouvé <?php echo $nb_resultats;
    if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; }
    ?>
    dans notre base de données. Voici le résultat :<br/>
    <br/>
     
    <strong>[ Montant total de <?php echo($somme) ;?>€ ]</strong>
    <p>&nbsp;</p>
    <form name="frm" method="post" action="" onSubmit="return testsubmit()">
     
          <input name="heurenom" type="text" style="font-size:16px; background: url(../img/fdinputbleu.png); border:0px;"onkeyup="calcul();" value="<?php echo($somme) ;?>" size="5 " />
            <input name="c2" type="hidden" id="c2" value="21.3" /><input name="pheurenom" type="hidden"
      onkeyup="calcul();" value="" size="6" readonly="readonly" />
          <input name="c2b" type="hidden" id="c2b" value="100" />
            </p>
          <font color="red"><strong>TOTAL</strong></font> :
            <input name="prix" type="text" style="font-size:16px; background: url(../img/fdinputrouge.png); border:0px;"onkeyup="calcul();" value="" size="6" readonly="readonly" /></form>
    <br />
    <br />
      <?php
    //connexion au serveur:
    $cnx = mysql_connect( "localhost", "root", "root" );
     
    //sélection de la base de données:
    $db= mysql_select_db( "depann49" );
     
    //création de la requête SQL:
    $sql = "SELECT * FROM client ORDER BY date";
     
    //exécution de notre requête SQL:
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
    //récupération avec mysql_fetch_object(), et affichage de nos résultats :
    echo( "<table border=\"1\" cellpadding=\"0\" cellspacing=\"1\" align=\"center\" style=\"border-color:\"#999\" width=\"800px\">\n" );
     
    echo( "<tr>
    <td background=\"img/fdc.png\"><div align=\"center\">Client</div></td>
    <td background=\"img/fdc.png\"><div align=\"center\">Ville</div></td>
    <td background=\"img/fdc.png\"><div align=\"center\">Date</div></td>
    <td background=\"img/fdc.png\"><div align=\"center\">Prix</div></td>
    </tr>" );
     
     
    echo( "<br>\n" );
    echo( "<br>\n" );
    echo( "Voici les clients concernés :\n" );
     
    while( $donnees = mysql_fetch_object( $query ) )
    {
     echo( "<tr>\n" );
     echo( "<td><div align=\"center\">".$donnees->titre." ".$donnees->nom." ".$donnees->prenom."</div></td>\n" );
     echo( "<td><div align=\"center\">".$donnees->ville."</div></td>\n" );
     echo( "<td><div align=\"center\">".dateFR($donnees->date)."</div></td>\n" );
     echo( "<td><div align=\"center\">".$donnees->prix." €</div></td>\n" );
     echo( "</tr>\n" );
    }
    echo( "</table>\n" );
    ?>
       <br/>
      <br/>
     
      <?php
    }
    else
    {
    ?>
    </p>
    <p><br />
    <h3>Pas de r&eacute;sultats</h3><br />
    <p>Nous n'avons trouv&eacute; aucun r&eacute;sultats pour votre requ&ecirc;te "<?php echo $_POST['date1']; ?> au <?php echo $_POST['date2']; ?>". <br />
    <a href="index.php?page=facturation">R&eacute;essayez</a> avec d'autres dates.</p>
    <br />
    <br />
    <br />
    <br />
    <?php
    }
    mysql_close();
    }
    else
    {
    ?>
    <center>
    <img src="../img/tfacturation.png">
    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="Post">
    <table width="431" height="93" border="0">
    				  <tr>
    				    <td width="175" height="47" align="right">Date de D&eacute;but :</td>
    				    <td width="240" align="center"><input type="text" name="date1" id="datepicker" /></td>
    			      </tr>
    				  <tr>
    				    <td height="40" align="right">Date de Fin :</td>
    				    <td align="center"><input type="text" name="date2" id="datepicker2" /></td>
    			      </tr>
      </table>
    <br />
    <INPUT border=0 src="../img/rechercher.png " type=image Value=submit align="middle"/>
    </form>
    <br />
    <?php
    }
     
    ?>
    Si quelqu'un aurai une indication svp

    Merci à lui

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Apres encore et encore pas mal de recherches je suis parvenu a faire sortir mon PDF, sauf que celui-ci me donne qu'un nom par exemple alors qu'il devrais m'en affiché trois (suite a ma recherche j'ai trois réponses)

    Je pense avoir un problème dans mon fichier de génération de PDF, j'ai utilisé la même méthode que pour affiché des champs texte, c'est a dire :
    $_POST[ 'titre' ] / $_POST[ 'prenom' ] / etc
    (mes résultats dans mon fichier de recherche sont eux aussi en champs texte)

    Si quelqu'un a un tuyau afin de m'orienté svp, merci a lui

    EDITION :

    J'ai fait un tableau rapide (pas encore FPDI et autres) pour vous montrer comment j'essaye de géré cela mais je n'ai toujours qu'un client au lieu de mes trois comme dans ma recherche :

    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
    <?php
    define('FPDF_FONTPATH','pdf/font/');
    require('pdf/fpdf.php');
    require_once('pdf/fpdi.php'); 
    require('fonctions_dates.php');
    class PDF extends FPDI {
     
    //Tableau simple
    function BasicTable($header,$data)
    {
        //En-tête
        foreach($header as $col)
            $this->Cell(60,7,$col,1);
        $this->Ln();
        //Données
        {
                $this->Cell(60,6,$col,1);
            $this->Ln();
        }
    }
     
    //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(70,60,40,15);
        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
     
     
            $this->Cell($w[0],6,$_POST[ 'nom' ],'LR',0,'L');
            $this->Cell($w[1],6,$_POST[ 'ville' ],'LR',0,'L');
            $this->Cell($w[2],6,$_POST[ 'date' ],'LR',0,'L');
            $this->Cell($w[3],6,$_POST[ 'prix' ],'LR',0,'L');
            $this->Ln();
     
     
        }
       }
     
    $pdf=new PDF();
    //Titres des colonnes
    $header=array('Client','Ville','Date','Prix');
    //Chargement des données
     
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
     
    $pdf->Output();
    ?>

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Les captures vonts peut être données des idées à un membres :

    Index du Moteur :


    RÉSULTAT DU MOTEUR :



    Donc je souhaite exporter en PDF via FPDF/FPDI le résultat du moteur de recherche ci dessous (comme j'ai déja fait pour les fiche client factures et autres), j'ai essayé pas mal de méthodes mais rien ne passe.

    Merci à vous.

    PS: La mise en page n'est pas la version final

Discussions similaires

  1. Redirection moteur de recherche vers page de résultats
    Par maxime rebh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/03/2014, 11h21
  2. [MySQL] Simple moteur de recherche qui retourne aucun résultat si plus de 1 mot clef
    Par yule dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/06/2010, 20h17
  3. Réponses: 15
    Dernier message: 07/10/2008, 18h41
  4. Moteur de recherche : comment trier les résultats par pertinence
    Par aucunIDdeLibre dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/12/2007, 13h42
  5. Réponses: 4
    Dernier message: 21/11/2007, 22h27

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