IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Publipostage PHP/MYSQL et word


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Publipostage PHP/MYSQL et word
    Bonjour,



    je voudrais réaliser du publipostage en PHP grâce à des variables récupérés via une requêtes SQL.



    En fait j'ai une table épreuve liée à des intervenants. Donc pour une épreuve il peut exister plusieurs intervenants. Je voudrais avoir un bouton qui permettrait d'imprimer des convocations personnalisées pour chaque intervenant suivant un modèle en XML ( édité sur WORD ).

    J'ai donc suivi un tutoriel sur internet pour réalisé ceci. La seule subtilité est que je veux autant de convocations qu'il y a d'intervenants ( donc avec une boucle while après ma requête ). C'est ici que ça bloque , impossible de réaliser plusieurs fichiers :/



    Voici le code PHP :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    //connexion bdd
    include('../../../../bdd/connexion.php');
    $cxn = connect();
    //récupère l'id passé en URL
    $idEp = $_GET['idEp'];
    $exterieur = "select * from epreuve e , externe_particip ep,exterieur ext where e.idEp = ep.idEp AND ep.idExt=ext.idEx AND e.idEp =".$idEp." ";
    $reqExt = $cxn -> query($exterieur);
    while($ligneExt = $reqExt->fetch(PDO::FETCH_ASSOC))
    {
    	$name = 'convoc.xml'; // nom du fichier à ouvrir
    	$myFile = file_get_contents($name);
    	$searchReplace = array(
    	    '«NOM»' =>  $ligneExt["nomEx"],
    	    '«PRE»' =>  $ligneExt["prenomEx"]
    	    );
    	$search  = array_keys($searchReplace);
    	$replace = array_values($searchReplace);
    	$nomFinale = 'convoc_'.$ligneExt["nomEx"].'_'.$ligneExt["prenomEx"].'.xml';
    	// envoi d'un en-tête php qui indique au navigateur web que le contenu qui arrive 
    	// est de type binaire et à exploiter par Word
    	header('Content-Type: application/msword; name="'.$nomFinale.'"');
    	header('Content-Transfer-Encoding: binary');
    	header('Content-Disposition: attachment; filename="'.$nomFinale.'"');
    	// on génère le flux de données à la volée, aucun stockage sur disque
    	echo str_replace($search, $replace, $myFile);
    }
    ?>

    Merci d'avance ..

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'est pas possible d'envoyer plusieurs fichiers dans une requête HTTP.
    Une possiblité est de stocker temporairement tes fichiers et d'envoyer une archive ZIP de l'ensemble.

    Mais concrètement tu ne peux pas utiliser le publipostage Word sans passer par du web ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Dévelop. app. MySQL - MS Word (publipostage)
    Par p0Kep0K dans le forum Windows
    Réponses: 7
    Dernier message: 26/12/2013, 14h24
  2. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  3. [MySQL] Php MySQL et Word
    Par iloyer dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/07/2011, 11h46
  4. archivage d'un texte word dans un site php mysql
    Par mambax dans le forum Outils
    Réponses: 1
    Dernier message: 14/04/2006, 10h52
  5. Mysql et word -> publipostage
    Par EJ dans le forum Installation
    Réponses: 8
    Dernier message: 13/04/2006, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo