Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/05/2007, 20h08   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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.
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 20h30   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, pourrais-tu envoyer un peu de code pourvoir où ça cloche ?

++
JC
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 21h08   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
voila le script pour la facture :
Fichiers attachés
Type de fichier : php ex.php (4,7 Ko, 194 affichages)
Type de fichier : php invoice.php (20,8 Ko, 139 affichages)
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 21h15   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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 :
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 :
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.");
?>
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 14h33   #5
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
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 :
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
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 15h00   #6
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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 :
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 :
$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 :
$pdf->addClientAdresse("Ste\nM. XXXX\n3ème étage\n33, rue d'ailleurs\n75000 PARIS");
et je l'ai remplacer par:
Code :
$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.
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 15h20   #7
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
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
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 15h29   #8
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 15h34   #9
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
c ca
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 15h53   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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];
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 16h21   #11
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Bon, en supposant l'appel à la BDD correct, voici le code pour conserver toutes les valeurs

Code :
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
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 16h21   #12
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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.
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 16h44   #13
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 87
Points : 10
Points : 10
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?
faucon54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h52.


 
 
 
 
Partenaires

Hébergement Web