Passer de BDD a XML a PDF

Nouveau WRInaute
Bonjour,
Alors je suis en train de faire un site qui gere tous les restaurant de la ville de Madrid.
Toutes les infos se trouve dans une BDD en PHP5.
Je suis assez novice en programmation WEB.
Je voudrais en fait pouvoir recuperer les donnees de la BDD et en faire un fichier XML.
Ensuite prendre le contenu de ce fichier pour realiser un PDF avec les infos (XSL-FO).

En gros l'idee c'est que si l'utilisateir voudrait imprimer la fiche d'un restaurant, qu'il puisse avoir un document propre avec les infos qu'il faut.

Pouvez vous m'aider a realiser les differentes etapes?

Merci,

Joey
 
Nouveau WRInaute
au biensur que si!
Mais pour le projet je me doit d'utiliser un peu de XML.
Je pense que c'est un detour, je suis d'accord mais au niveau de l'utilisation des technologies ca peut etre important pour la notation... je pense...
 
WRInaute impliqué
ok, bah la création du xml à rien de compliquée, celle du pdf demande un peu de temps pour se plonger dans les classes et fonctions.

Cependant, encore une fois, passer par du xml pour faire le pdf ... n'a aucun intérêt!

Pour créer du xml, soit tu as des classes soit tu le fait "à la main" comme une page html générée par php (au passage le html EST du xml...).

Après si tu veux vraiment utilisé un max de techno juste pour ton projet, tu n'auras que reparser ton xml pour générer le pdf


ici un parmis beacoup pour la génération de pdf à partir de php http://jc-cornic.developpez.com/tutorie ... /index.php


Si tu souhaite nous en dire plus ... on pourra être plus précis !
 
WRInaute impliqué
Quel est ton école ?
Peut être seraît-il plus intéressant de montrer que tu sais utiliser un CMS et un site propre rapidement plutot que généré des xml ...

après je ne connais pas ton niveau/envies/contraintes
 
Nouveau WRInaute
Hello,

Je suis a l'UTC. Mais je fais un echange erasmus a l'UPM (universidad politecnica de MAdrid).

Je suis en 5 eme annee...
la contrainte principale c'est le temps! hehe

mais en gros les techno que j'utilise sont:
ajax, php, mysql, javascript.

il faudrait que j'en rajoute.
Donc c'est pour ca que j'ai eu l'idee de passer la BDD en XML et de genere un PDF apres.

Je ne sais pas si tu as d'autres idees :P

Mais je vais lire le doc que tu m'a proposé. Je suis conscient que passer par du xml pour faire le pdf n'est pas utile...
 
Nouveau WRInaute
Si finalement si, mais je pensais pouvoir utiliser le XSL-FO aussi... afin de rajouter une techno en plus...

Mais je pense que je vais changer de direction vu vos conseils :)
 
Nouveau WRInaute
Hello!!
j'ai lu le tutoriel http://jc-cornic.developpez.com/tutorie ... /index.php

Bon j'ai fais des test etc... cependant j'ai 2 questions...

1- si j'ai du php simple par exemple un echo 'hello world'.
ben je ne peu pas ouvrir une autre balise <?php avec le code fpdf! enfin d'apres mes tests.

2- J'aurais voulu pouvoir recuprer des donnees de variables en php et de les inserer dans mon pdf c'est possible ca?

par exemple si la page affiche $resto sur la page ou nous somme et que je click sur l'icone PDF, ben que le PDF genere contienne en titre le contenu de la variable resto.
Du coup, effectivement mon premier point de ce post n'aurais pas de sens, puisque clicker sur une icone PDF par exemple genererait un php en relation direct avec le pdf.

Je ne sais pas si j'ai ete assez clair...

Merci en tout cas

Joey
 
WRInaute impliqué
Non en effet tu n'es pas très clair ...
1 : ton fichier php

<?php
...
...
echo 'hello word';

?>

Pas besoin de réouvrir les balises php (<?php ?>) si elles sont encore ouvertes !

2: Oui c'est possible.
Apres je connais pas ton code ... mais t'après le tuto :
$maVariablePhpQuiVaBienIic = 'mon texte';
$PDF->Text(40,10,$maVariablePhpQuiVaBienIic);

Essaye de donner des petits bous d'exemple pour être plus clair la prochaine fois ;)


PS : tu rentres de soirée pour poster à chaque fois à des heures pas possible ?
 
Nouveau WRInaute
Salut!
Non je ne reviens pas de soiree, je bosse sur ce projet la nuit, et durant le jour je bosse sur un autre!!! je te dis pas je m'eclate!

Alors regarde: premier points
voila le code par exemple: (je ne fais que des tuto encore!)
Code:
<?php
require('fpdf.php');
[b]$hello = "Hello World!";

echo $hello;[/b]

class PDF extends FPDF
{
  function Header()
    {
      $this->SetFont('Helvetica','B',15);
      $this->SetXY(50, 10);
      $this->Cell(0,10,'This is a header',1,0,'C');
     }

  function Footer()
    {
      $this->SetXY(100,-15);
      $this->SetFont('Helvetica','I',10);
      $this->Write (5, 'hello');
    }
}

$pdf=new PDF();
$pdf->AddPage();
$pdf->Output('example2.pdf','I');
?>

voila ce que je recois!

Hello World!FPDF error: Some data has already been output to browser, can't send PDF file


Ensuite, en ce qui concerne le 2eme point, en effet comme tu le fais screuscreu ca marche... MAIS
si je remplace la derniere ligne du footer c'est a dire :
Code:
$this->Write (5, 'hello');
par
Code:
$this->Text(40,10, $hello);

ben ca ne donne rien! voila pourquoi je me posais la question...

Merci.
Joey, ni bourré ni revenant de soirée!! hihi
 
WRInaute impliqué
1 : normal, tu ne dois pas faire de sortie avant de faire ton $pdf->Output donc pas de echo, print ...

2 : il ne faut pas remplacer mais intercaler entre $pdf->AddPage();
et
$pdf->Output('example2.pdf','I');
je suppose

(EDIT : en tout cas je suis sur qu'il faut pas la remplacer ;) )
 
Nouveau WRInaute
1- meme si je mets un echo apres le output, ca ne le prends pas en consideration.

2- tu as raison, quand j'intercale dans ce que tu mas di ca marche.... donc si je voudrais faire de ma variable un footer je ne peux pas! uniquement dans le corps du document... si j'ai bien compris! :D



Thanks encore
 
WRInaute impliqué
mp


EDIT : on a bien fait de passer en mode gtalk ... y a du travail.
Il postera sûrement une solution ... pour ceux qui arriveront par là avec google dans le futur !
 
Discussions similaires
Haut