website logo
Auteur
avatar
camil

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


Posté : 26 oct. 2004 à 11:37 icone du 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»



Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=14016&forum=5