methodologie pour export pdf

Eléphanteau du PHP | 14 Messages

16 juin 2006, 10:06

Bonjour,

j essaie de creer un systeme d export pdf de donnees personnelles.

pour la creation du fichier pdf, j ai telecharge la class fpdf qui fait a peu pres ce dont j ai besoin.
(au depart cela aurait du etre un fichier excel mais je verrais ca plus tard... enfin bon, la n est pas la question)

avant l export en fichier pdf, la personne peut voir les donnees et les mofidier mais sans pour autant actualiser la bdd (les donnees sont modifiees seulement pour les besoins de l export)

donc j ai une requete sql qui recupere les donnees, une boucle while qui les affiche:
$sql2 = mysql_query("SELECT * FROM career WHERE id=$id ORDER BY fromyear DESC"); 
$total = mysql_num_rows($sql2);
if ($total >0) 
{ 
 while ($donnees = mysql_fetch_array($sql2))
 {
echo" <table width=\"100%\" border=\"0\">";
  echo" <tr>";
 echo" <td>periode</td>";
echo" <td align=\"left\">".$donnees['fromyear']."/".$donnees['frommonth']."~&nbsp;".$donnees['toyear']."/".$donnees['tomonth']."&nbsp;&nbsp;".$donnees['onfunction']."</td>";
 echo" </tr>";
 echo" <tr>";
 echo" <td width=\"22%\">nom entreprise</td>";
 echo" <td width=\"78%\" align=\"left\">".$donnees['firmname']."</td>";
 echo" </tr>";
 echo" <tr>";
 echo" <td>activite</td>";
 echo" <td align=\"left\"><input type=\"text\" name=\"ind[".$i++."]\" maxlength=\"30\" size=\"80\" value=\"".$industry."/".$donnees['industrydetailed']."\" ></td>";
 echo" </tr>";
 echo" <tr>";
 echo" <td>occupation</td>";
 echo" <td align=\"left\"><input type=\"text\" name=\"occ[".$o++."]\" maxlength=\"30\" size=\"80\" value=\"".$occupation."/".$donnees['occupationdetailed']."\" ></td>";
 echo" </tr>";
 echo" <tr>";
 echo" <td >fonction du poste</td>";
 echo" <td align=\"left\"><textarea name=\"job[".$j++."]\"  cols=\"80\" rows=\"4\" style=\"ime-mode: active;\">".$donnees['jobfunction']."</textarea></td>";
 echo" </tr>";
 } 
il y a un formulaire d envoie dont le bouton est appele confirmation.
je recupere les donnees modifiees lors de l envoie du formulaire :
if (isset($_POST['confirmation']))
{
foreach($_POST['ind'] as $cle=>$ind)
{  
$occ=$_POST['occ'][$cle];
$job=$_POST['job'][$cle];
 $sql="INSERT INTO careerprovisoire (id,industry,occupation,jobfunction) VALUES ('$id','$ind','$occ','$job')";
 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
}
}
comme vous pouvez le voir j insere dans une nouvelle table les valeurs car je pensais ensuite passer la variable $id dans le fichier d export pdf.

mais je me demande s il n y aurait pas la possibilite de simplement passer les valeurs vers la page pdf.php sans passer par une table mysql car j ai l impression que ce n est pas ce qu il y a de mieux...

merci d avance !

Eléphant du PHP | 112 Messages

16 juin 2006, 10:17

Bon en fait ton script se fait comme suit:

-› Tu montres les valeurs
-› Tu l'envois sur une page pour confirmer
-› Si il accepte, tu le rédirige vers le pdf.php qui lui génère le fichier.

?
Image

Eléphant du PHP | 112 Messages

16 juin 2006, 10:19

A la limite tu fais des champs avec l'option hide et ca te permetras de retrouver les valeurs dans la page de génération comme au paravant, c'est à dire par des $_POST[]
Image

Eléphanteau du PHP | 14 Messages

16 juin 2006, 10:22

merci pour ta reponse !

ce n est pas exactement ca

le nom de mon bouton de formulaire est trompeur aussi il faut dire^^;

il y a une page sur laquelle, on affiche les donnees pour pouvoir les modifier.

je veux que lorsque la personne appuie sur confirmation (pdf serait plus approprie) les donnees soient transmises au fichier pdf.php qui se charge de creer le pdf avec les nouvelles donnees rentrees a cette occasion

note: les donnees originales de la table doivent rester identique. imaginons que pour un emploi, on veuille modifier juste une ligne parce qu elle ne va pas pour ce post, on l enleve et on cree le pdf mais pour le prochain post, il me faut les donnees completes.

Eléphant du PHP | 112 Messages

16 juin 2006, 10:24

Je ne comprend pas, dans ce cas, si ta page ou tu peux modifier les valeurs pour le fichier.pdf il te suffit de renvoyer ces valeurs vers le fichier de génération
Image

Eléphanteau du PHP | 14 Messages

16 juin 2006, 10:27

il te suffit de renvoyer ces valeurs vers le fichier de génération
comment ? comme les resultats sont dans une boucle, je ne vois pas comment faire en fait...

Eléphant du PHP | 112 Messages

16 juin 2006, 10:36

Dans la page précédant la génération, tu met:
echo "<input name=\"occ\" type=\"hidden\" value=\"".$_POST['occ'][$cle]." />";
Etc...
Image

Eléphanteau du PHP | 14 Messages

16 juin 2006, 10:42

hum, je crois qu on ne parle pas exactement de la meme chose mais bon faut dire que je m explique mal...

echo "<input name=\"occ\" type=\"hidden\" value=\"".$_POST['occ'][$cle]." />";

ca serait dans la boucle while ?

ensuite, dans le fichier pdf.php j aurai juste a faire appel a $_POST['occ'][$cle]??

Eléphant du PHP | 112 Messages

16 juin 2006, 10:47

voila :)
Image

Eléphant du PHP | 112 Messages

16 juin 2006, 10:47

( en rajoutant les balises de formulaire bien sur )
Image

Eléphanteau du PHP | 14 Messages

16 juin 2006, 10:58

hum, je ne vois pas comment faire.

lorsque la page est chargee, la cle $cle n est pas lancee donc j obtiens une erreur, car il ne sait pas d ou ca vient... je dois mal m y prendre

Eléphant du PHP | 112 Messages

16 juin 2006, 11:01

Pour la clé, tu la récupere aussi et la stock dans un champ hidden
Image