Bonjour,

J'ai un document template .doc, dans lequel j'ai placé des variables de style %%MONNOM%% que je remplace par des éléments sortis d'une base de données.

En statique, aucun problème.

En dynamique, voici mon problème:

Quand je mets:

'fullname' => 'le nom que je veux',
Cela m'affiche bien les infos notées, no problem

Quand je mets:

'fullname' => 'element_19_2',

cela va m’afficher dans mon document une fois ouvert element_19_2, je ne récupères pas la valeur !

Quand je mets: 'fullname' => $element_19_2 , Cela ne m'affiches rien du tout !

Quelqu'un aurai-il Une piste ?

Merci
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/******************************************************************************/
/******************************************************************************/
	session_start();
 
	require('config.php');
	require('includes/check-session.php');
	require('includes/db-core.php');
	require('includes/db-functions.php');
	require('includes/helper-functions.php');
	require('includes/entry-functions.php');
 
	connect_db();
 
	$form_id  = (int) trim($_REQUEST['form_id']);
	$entry_id = (int) trim($_REQUEST['id']);
 
	if(empty($form_id) || empty($entry_id)){
			die('ID required.');
	}
 
 
	//check for delete parameter
	if(!empty($_GET['delete'])){
 
		delete_entries($form_id,array($entry_id));
 
		$_SESSION['AP_SUCCESS']['title'] = 'Entry deleted';
		$_SESSION['AP_SUCCESS']['desc']  = "Entry #{$entry_id} has been deleted.";
 
		$ssl_suffix = get_ssl_suffix();	
		header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].get_dirname($_SERVER['PHP_SELF'])."/manage_entries.php?id={$form_id}");
		exit;
	}
 
/******************************************************************************/
/******************************************************************************/
 
$query = "select form_name from `ap_forms` where form_id='$form_id'";
	$result = do_query($query);
	$row = do_fetch_result($result);
	$form_name = $row['form_name'];
 
	$entry_details = get_entry_details($form_id,$entry_id);
 
	//get entry timestamp
	$query = "select * from `ap_form_{$form_id}` where id='$entry_id'";	
    $result = mysql_query($query);
 
 
function populate_RTF($vars, $doc_file) {
 
        $replacements = array ('\\' => "\\\\",
                               '{'  => "\{",
                               '}'  => "\}");
 
        $document = file_get_contents($doc_file);
        if(!$document) {
            return false;
        }
 
        foreach($vars as $key=>$value) {
            $search = "%%".strtoupper($key)."%%";
 
            foreach($replacements as $orig => $replace) {
                $value = str_replace($orig, $replace, $value);
            }
 
            $document = str_replace($search, $value, $document);
        }
 
        return $document;
    }
 
$deadline = mktime(0,0,0,date('m'),date('d')+14, date('Y'));
 
$vars = array(
'id' => $id,
'date_created' => $date_created,
'date_updated' => $date_updated,
'ip_address' => $ip_address,
'preferedchoice1' => $element_12,
'preferedchoice2' => $element_13,
'element_17_1' => $element_17_1,
'element_17_2' => $element_17_2,
'element_17_3' => $element_17_3,
'firstname' => $element_18_1,
'lastname' => $element_18_2,
'address' => $element_19_1,
'element_19_2' => $element_19_2,
'city' => $element_19_3,
'state' => $element_19_4,
'zip' => $element_19_5,
'country' => $element_19_6,
'preferedchoice3' => $element_24 );
 
 
 $vars = array(   'date'     => date("F d, Y"),
                  'fullname' => 'john',
                  'address'  => '1210 Hancock',
                  'cityinfo' => 'Flint, MI 49449',
                  'prefix'   => 'Mr.',
                  'lastname' => 'Coggeshall',
                  'jobtitle' => 'PHP Developer',
                  'wage'     => '$5,000',
                  'location' => 'Somewhere, MI',
                  'responddate' => date('F, d, Y', $deadline));
 
 
 
$new_rtf = populate_RTF($vars, "mondocument.rtf");
 
    $fr = fopen('output.rtf', 'w') ;
 
    fwrite($fr, $new_rtf);
 
    fclose($fr);
 
	header("Content-type: application/msword");
    header("Content-disposition: inline;filename=Reservation_of_name_of_company.rtf");
    header("Content-length: " . strlen($new_rtf));
    echo $new_rtf;
 
?>