Page 1 sur 1

methodologie pour export pdf

Posté : 16 juin 2006, 10:06
par iruka
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 !

Posté : 16 juin 2006, 10:17
par Mouet
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.

?

Posté : 16 juin 2006, 10:19
par Mouet
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[]

Posté : 16 juin 2006, 10:22
par iruka
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.

Posté : 16 juin 2006, 10:24
par Mouet
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

Posté : 16 juin 2006, 10:27
par iruka
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...

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

Posté : 16 juin 2006, 10:42
par iruka
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]??

Posté : 16 juin 2006, 10:47
par Mouet
voila :)

Posté : 16 juin 2006, 10:47
par Mouet
( en rajoutant les balises de formulaire bien sur )

Posté : 16 juin 2006, 10:58
par iruka
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

Posté : 16 juin 2006, 11:01
par Mouet
Pour la clé, tu la récupere aussi et la stock dans un champ hidden