|
camil 12
| Posté : 26-10-2004 11:37
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 :& nbsp;'.mysql_error() );
mysql_select_db("$db") or die("Impossible de se connecter à la b ase 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»
|  Profil
|
|
Tribal-Dolphin 4374
| Posté : 26-10-2004 13:45
Soit ta table est vide, soit ta requete est pourrie ........... mais comme eslle n'est pas visible, je peut pas le savoir. |  Profil
|
|
camil 12
| Posté : 26-10-2004 14:10
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
|  Profil
|
|