logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
36 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 412 942

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - php/mysql + word

[Résolu] - php/mysql + word#14016

2Contributeur(s)
camilTribal-Dolphin
3 Modérateur(s)
developpeurjpbJireck
camil camilicon_post
bonjour,

j'ai fait un script qui me génére un document word, mais mon soucis est le suivant : je n'arrive pas à récupérer les champs de ma table lorsque j'essaie de faire du publipostage, est ce que quelqu'un à une idée ou une autre solution à me proposer, svp :

voici le script :


<? 

//-- --on définit le type de fichier
$type_fichier "msword";
//----on définit l'extension 
$extension = 
"doc";

//---- headers 
//----type fichier 
header(
"!content-type:! application/$type_fichier");

//----type extension (doc ou xls)
header(
"!content-disposition:! .doc; filename=publipostage.$extension");


//----date + titre 
$now_date = date('d-m-Y H:i');
$titre = 
"Publipostage éditée le $now_date";

//---- libéllé requete SQL 
//print $chateau_list;
$requete = $chateau_list;

//---- récup des variables de connection 
$host = 'localhost';
$user = 'root';
$pass = '';
$db = '***';

//---- connection à la base 
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db(
"$db") or die("Impossible de se connecter à la base de données");

//---- exécution requete SQL 
$result = @mysql_query($requete) or die(mysql_error());
//---- separateur 
$sep = 
"\n";
//---- affichage titre 
echo(
"$titre\n\n\n");

//---boucle d'enregistrement des données dans la&nbs p;variable $texte 
$i = 0;
while($row = mysql_fetch_row($result)) 
{ 
$texte = 
"";
$max_field = mysql_num_fields($result);

for($j=0; $j < $max_field; $j++) 
{ 
//----noms des champs 
$field_name = mysql_field_name($result,$j);
$texte .= $field_name.
":";

//----contenu 
if(!isset($row
[$j])) { 
$texte .= 
"".$sep;
}elseif($row[$j] != ""){ 
$texte .= $row
[$j].$sep;
}else{ 
$texte .= $sep;
} 
} 

//----on enlève le 
"$" 
$texte = str_replace($sep.
"$""", $texte);
$texte .= 
"\t";
print(trim($texte));
print 
"\n\n";
$i++;
} 
//----validation que le fichier a bien été ;rempli 
return (true);
?>




je récupère comme champs de fusion ceci :


«Publipostage_éditée_le_26102004_10»
«M_59»


Tribal-Dolphin Tribal-Dolphinicon_post
Soit ta table est vide, soit ta requete est pourrie ........... mais comme eslle n'est pas visible, je peut pas le savoir.
camil camilicon_post
ma table n'est pas vide, et marequete est la suivante :


$query_trie = "SELECT Chateau_Id, Chateau_departement, Chateau_nom, Chateau_rue, Chateau_code_postal, Chateau_ville, Chateau_telephone, Chateau_email, Chateau_telecopie, Clients FROM chateau $requete order by Chateau_nom";

<input type="hidden" name="chateau_list" value="<?=$query_trie?>">



avec le script que j'ai donné dans mon premier script, il me génére un fichier qui donne ceci à l'écran :


Publipostage éditée le 26-10-2004 14:15


Chateau_Id:1218
Chateau_departement:Loire
Chateau_nom:Abbaye bénédictine
Chateau_rue:Place de l'abbaye
Chateau_code_postal:42190
Chateau_ville:Charlieu
Chateau_telephone:04.77.60.09.97
Chateau_email:
Chateau_telecopie:
Clients:

Chateau_Id:1130
Chateau_departement:Hautes-Alpes
Chateau_nom:Abbaye de Boscodon
Chateau_rue:
Chateau_code_postal:05200
Chateau_ville:Crots
Chateau_telephone:04.92.43.14.45
Chateau_email:abbaye.boscodon@wanadoo.fr
Chateau_telecopie:04.92.43.50.58
Clients:



avec le résultat de cette requete je voudrais pouvoir faire du publipostage en sélectionnant les champs de fusion qui sont :
Chateau_nom, Chateau_rue, Chateau_ville mais je n'y arrive pas :paf