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] récupérer données mysql et insérer dans une facture pdf préfaite


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut [FPDF] récupérer données mysql et insérer dans une facture pdf préfaite
    bonjour tous le monde, voila j'ai récupéré un modele de facture sur le site de fpdf, j'ai créer un formlaire, et je voudrais que les infos de ce formulaire qui sont stockées dans une base de données soit automatiquement mise dans la facture, le modele de facture comporte 2 script l'un gérant la mise en page et l'autre renseignant les données mais les hic c'est que ces données sont en format texte et ne réferent pas une base de donnée j'ai essayé la methode post mais rien se passe, merci pour l'aide.

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Salut, pourrais-tu envoyer un peu de code pourvoir où ça cloche ?

    ++
    JC

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    voila le script pour la facture :
    Fichiers attachés Fichiers attachés

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    par ex: dans la fichier ex à la ligne: $pdf->addClientAdresse("Ste\nM. XXXX\n3ème étage\n33, rue d'ailleurs\n75000 PARIS");, j'aimerais qu'il y ai un lien avec ma base de donnée mais je ne sais pas comment faire. je vous met aussi un debut de formulaire mais qui me sert juste de test ceci fonctionne avec un script qui genere un pdf mais je ne sais pas l'adapter avec un script tout préfait d'une facture dite moi si le lien cloche:
    fichier formu.php:

    Code HTML : 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
    <form method="post" action="ajout.php" enctype="multipart/form-data"> 
            <div align="center"><span class="texte_gras">Nom :</span><br> 
              <input name="nom_col" type="texte" id="nom_col"> 
              <br> 
              <br> 
              <span class="texte_gras">Identifiant : </span><br> 
              <input name="identifiant" type="texte" id="identifiant"> 
              <br> 
              <br> 
              <span class="texte_gras">T&eacute;l&eacute;phone :</span><br> 
              <input type="texte"name="tel"> 
              <br> 
              <br> 
              <span class="texte_gras">Email :</span><br> 
              <input type="texte"name="mail"> 
              <br> 
              <br> 
              <br> 
              <input type="submit" value="Valider" name="submit"> 
              / <a href="contact.php" class="texte_lien"> Annuler</a> 
            </div> 
          </form>

    fichier ajout.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
    session_start(); 
     
    include('connection.inc.php'); 
     
    $query = "INSERT INTO contact(idcontact,nom_col,tel,identifiant,mail) VALUES ('','".$_POST['nom_col']."','".$_POST['tel']."','".$_POST['identifiant']."','".$_POST['mail']."')"; 
     
    $result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error()); 
     
    $sql="SELECT idcontact FROM contact WHERE nom_col = '".$_POST['nom_col']."'"; 
     
    $soluce = mysql_query($sql); 
    $row = mysql_fetch_array($soluce); 
     
    $_SESSION['idcontact'] = $row['idcontact']; 
     
    header('location: ex.php'); 
     
    ?>  
     fichier connection.inc.php:
    <?php
    $serveur="localhost";
    $utilisateur="root";
    $motDePasse="";
    $base="contact";
     
    $table1='contact';
     
    //connexion a la base
    @mysql_connect($serveur, $utilisateur , $motDePasse)
    or die("Impossible de se connecter au serveur de bases de données.");
    @mysql_select_db($base)
    or die("Base de données non trouvée.");
    ?>

  5. #5
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    En fait, ta génération de document pdf fonctionne bien mais tu aimerais la lier avec une BDD pour ne plus mettre "en dur" les infos (de type string) mais pour aller les chercher dans ta BDD..

    Rien ne t'empêches d'ouvrir ta BDD et d'aller y chercher tes infos dans le même script qui génère le pdf...
    Tu devrais te créer quelques fonctions de BDD (cf FAQ ou forum BDD), par exemple et si tes variables sont globales (tu peux aussi les passer en paramètres)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function openBDD()
    {
    	// === CONNEXION A LA BD ===
    	global $localhost, $bddHost, $bddUser, $bddPass, $bddName;
     
    	// connexion
    	mysql_connect($bddHost,$bddUser,$bddPass);
    	mysql_select_db($bddName);
    }
    Bref, est-ce que ta génération de pdf fonctionne sans accès à la BDD ou as-tu aussi des problèmes de génération de document PDF ???

    ++
    JC

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    j'arrive bien à générer un pdf sans probleme, j'ai fais une ptite bidouille ce matin et j'arrive à récupérer mes variables avec ceci mais je voulais si ca se fait comme cela:

    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
    //Select the Products you want to show in your PDF file 
    $result=mysql_query("select nom_col,tel,identifiant,mail from contact WHERE idcontact='".$_SESSION['idcontact']."' ORDER BY nom_col"); 
    $number_of_contact = mysql_numrows($result); 
     
     
     
     
    //For each row, add the field to the corresponding column 
    while($row = mysql_fetch_array($result)) 
    { 
        $tel = $row["tel"]; 
        $nom_col = ($row["nom_col"]); 
        $identifiant = $row["identifiant"]; 
     
     
    } 
    mysql_close();
    après j'utilise par exemple ce code pour lire une date ecrit dans le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->addDate($nom_col);
    j'ai essayer après d'uliser cette méthode mais cette fois ci pour afficher plusieur ligne qui fait réference dans mon cas à l'adresse du client, le probleme c'est que ca m'affiche qu'une ligne:
    voici le code brut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->addClientAdresse("Ste\nM. XXXX\n3ème étage\n33, rue d'ailleurs\n75000 PARIS");
    et je l'ai remplacer par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->addClientAdresse("$tel\$nom_col");
    mais ca ne marche pas dans le pdf il m'indique la bonne variable au debut et après il affiche betement:$nom_col sans faire réference à ma base de donnée

    alors mes questions sont si mes codes sont bon et savoir comment on affiche plusiqeur ligne l'un en dessous de l'autre à partir de variable, merci.

  7. #7
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Tu as oublié un \n dans ton appel il n y a que le \ qui a l'effet de supprimer ton $ de ta variable...

    Sinon, dans ton "while" qui va chercher les valeurs dans ta BDD, tu écrase à chaque passage tes variables $tel, $nom_col et $identifiant... Tu devrais les sauver dans un tableau ($tel[$i] par exemple)

    ++
    JC

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    merci, vous voulez dire que je mette un n ici:

    $pdf->addClientAdresse("$tel\n $nom_col"); <== j'ai l'impression d'avoir oublié quelque chose

    et pour :
    $tel[$i] , je le met à la place de: $tel = $row["tel"];

    je veux juste comprendre merci

  9. #9
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    c ca

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    j'ai mis ceci comment vous m'avez dit et je n'ai plus mes variable qui s'affiche:

    $tel[$i];
    $nom_col[$i];
    $identifiant[$i];

  11. #11
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Bon, en supposant l'appel à la BDD correct, voici le code pour conserver toutes les valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //For each row, add the field to the corresponding column 
    while($row = mysql_fetch_array($result)) 
    { 
    $tel = $row["tel"]; 
    $nom_col = ($row["nom_col"]); 
    $identifiant = $row["identifiant"]; 
     
    $pdf->addClientAdresse($tel."\n".$nom_col); 
    }
    Tu n'as ainsi plus besoin de tableaux car à chaque passage dans la boucle while, tu appelle addClientAdresse...

    ++
    JC

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    j'ai encore un autre probleme en plus de ne plus avoir mes variables, mais si je remet comme avant des fois il va me chercher une autre valeur de mes variables meme si je tape un truc dans mon formulaire, j'ai l'impression que le script ne se rafraichit pas comment faire, aussi il me tronque mes phrases si par exemple je rentre l'adresse du client il m'affiche la moitier de l'adresse.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    je crois avoir compris je pense que c'est dans ma table mysql suivant le nombre de caractere faudrait que j'augmente par contre je ne sais pas pourquoi dans mon pdf il m'affiche des choses que j'ai taper auparavant alors que je viens juste de taper quelque chose pourquoi ca fait cela?

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/10/2012, 15h45
  2. Réponses: 5
    Dernier message: 03/04/2010, 11h16
  3. [OpenOffice][Base de données] Récupérer les données d'un fichier .txt et les insérer dans une base de données
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 05/08/2009, 10h52
  4. Récupérer l'id d'un bouton radio et l'insérer dans une base de donnée
    Par narama87 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/04/2009, 13h18
  5. Insérer dans une base donne mysql
    Par kh12040 dans le forum C
    Réponses: 3
    Dernier message: 12/06/2008, 19h55

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