Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1572 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Publipostage Word avec PHP/MySql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Publipostage Word avec PHP/MySql

n°1196395
Goulf
Posté le 10-09-2005 à 09:48:33  profilanswer
 

Bonjour.  
 
Je développe actuellement le site intranet de la société où je travaille. Cet intranet contient un annuaire des clients de la société. Il m'a été demandé de réaliser le publipostage word en prenant les données dans la base MySql.
 
Il faudrait donc que je récupère les noms, adresses et contacts des société clientes que je les insère dans un tableau word qui serait directement utilisé pour un publipostage classique.
 
Ma base de données est sous une Fedora.
 
Merci de m'aider à trouver une solution pour ce problème.

mood
Publicité
Posté le 10-09-2005 à 09:48:33  profilanswer
 

n°1196420
omega2
Posté le 10-09-2005 à 10:48:20  profilanswer
 

Quel rapport avec php?
D'ailleur, ca me semble plus un probléme d'utilisation de logiciel même si tu devras utiliser un autre logiciel pour récupérer ta liste d'email et en faire un document word.


Message édité par omega2 le 10-09-2005 à 10:48:48
n°1197368
Goulf
Posté le 12-09-2005 à 09:20:16  profilanswer
 

Ben le rapport avec PHP, c'est que mon intranet est écrit en PHP...
Je dois récupérer ces données via une page web écrite en php qui doit générer un document Word.


Message édité par Goulf le 12-09-2005 à 09:20:46
n°1197392
omega2
Posté le 12-09-2005 à 09:57:32  profilanswer
 

Ok, au début, je pensais que vous n'aviez pas de php d'installé alors je m'étais dit que c'était vous compliquer la tache que de passer par ce biés.
 
Générer du word en php sans utiliser word, c'est pas gagné. A ma conaissance, la seule méthode qui fonctionne, c'est de piloter word depuis php. Ca nécessite d'avoir php sous windows avec word d'installer sur le même ordinateur.
Sans ça, il faudrait se créer un systéme permettant d'écrire un fichier .doc (quasiment impossible sans y passer plusieurs mois pour ne pas dire plusieurs années) ou un fichier .rtf (déjà plus facile vu que c'est un format ouvert)
 
Finalement, c'est quoi qui t'es demandé :  

  • créer un fichier word contenant toutes les lettres avec entête et co. déjà remplis
  • ou créer un modéle de publipostage et remplir en php la liste des destinataires dans un fichier à part? Le second cas permet de séparer présentation du publipostage et liste des destinataires ce qui rendra la tache plus facile en php (moins d'élément à gérer). Ca rend aussi le fichier beaucoup moins lourd vu qu'on ne répéte pas des centaines de fois le même texte.


Je te souhaites de réussir à t'en sortir. Personellement je n'ai jamais eu à faire ça. Par contre j'ai déjà vu des discutions sur ce genre de chôses sur le forum, avec un peu de chance, ca te donera des indications. :)

n°1197397
betsamee
Asterisk Zeperyl
Posté le 12-09-2005 à 10:06:49  profilanswer
 

Salut
Je fais un truc similaire (mais qui marche beaucoup mieux a vrai dire :) )
Je genere un fichier xml contenant les donnees a inserer dans le publipostage .
Avec l'aide xsl je transforme ce fichier xml en html (via php) puis en pdf (vi l'appel de htmldoc depuis php).
Et ca marche du tonnerre , le seul passage difficile est d'ecrire le xsl pour avoir un rendu similaire a ton word
 
Si tu ne veux pas faire cela tu peux toujours generer un fichier csv (des donnees source du publipostage) via php ,une macro dans ton document a publiposter allant piocher dans ce csv.
 
bonne chance

n°1197426
Goulf
Posté le 12-09-2005 à 10:23:08  profilanswer
 

Merci pour ces indications.
 
Pour omega2, on me demande plutot la deuxième solution,c'est à dire juste générer un fichier word avec les adresses de tous les contacts. Les assistantes commerciales feront leur publipostage à partir de ce fichier généré.  
 
Pour betsamee, ta solution a l'air d'être superbe mais j'ai peur d'avoir du mal à la mettre en place rapidement. Le csv me parait être une bonne alternative, mais ayant peu d'expérience en php, je ne vois pas trop comment aborder le problème.
 
Help wanted, merci.


Message édité par Goulf le 12-09-2005 à 10:23:53
n°1197433
betsamee
Asterisk Zeperyl
Posté le 12-09-2005 à 10:27:07  profilanswer
 

pour le csv il te suffit de selectionner les donnees qui t'interessent via une requete depuis php , tu ecrirais les resultats de cette requette dans un fichier
 
tu peux meme imaginer d'utiliser la commande sql "load data infile" (cf doc) (dans une requete depuis ton script php bien sur) pour ecrire directement dans le fichier avec les delimiteurs de champs/lignes de ton choix

n°1202107
Goulf
Posté le 19-09-2005 à 10:10:59  profilanswer
 

Bon j'ai trouvé une solution qui me convient parfaitement.
 
Alors pour ceux que ça peut intéresser. Je crée un fichier word via la fonction fopen() de php, j'écris les résultats de mes requêtes dans ce fichier, je feme le fichier avec fclose() et j'envoie le fichier créé par mail aux destinataires. Pour cela j'ai utilisé une classe que j'ai trouvé dans la liste de commentaires laissés sur la fonction mail () sur php.net
 
Enfin j'efface le fichier sur le serveur via unlink().
 
Le fichier résultant est un fichier source de publipostage, il suffit de le fusionner avec un modèle de publipostage et le tour est joué.  :D
 
Merci à tous pour votre aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Publipostage Word avec PHP/MySql

 

Sujets relatifs
info bdd MysqlPOO PHP
éditeur en javascript a placer sur un site( mini word)Php et parser xml
[MySQL] un GRANT sur toutes les bases mais sur une table donnée?[Word]Problème d'ouverture d'un document RTF
[PHP] Intégrer une variable récupérée d'une URL dans un form[PHP] Vérification d'une adresse email
pb PhpDebutant en programmation pour page web PHP
Plus de sujets relatifs à : Publipostage Word avec PHP/MySql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR