Bonjour,


Je viens vers vous car j'aurais besoin de vos lumières pour me guider ...

J'ai réussi à installer PHPword qui permet downloader des fichiers .doc que l'on peut lire en format .ODT jusque là ça va. J'ai pu créer une page modèle type avec des variables à l'intérieur exemple pour le nom: $nom ; j'ai enregistré le fichier au format facture.html.

voici le lien du tutoriel .


J'ai un tableau avec 5 lignes et 5 profils et comme vous pouvez vous en douter 1 lien par profil le lien redirige vers export.php où l'on peut cliquer sur un lien href pour afficher ledit document .doc;
une redondance de clics inutiles pour ma part j'ai donc forcé le download directement seulement il m'affiche le document en brut (html)


Lorsque je clique sur le lien de téléchargement il m'affiche tous les noms renseignés de mon tableau dans un seul document word sur plusieurs pages successives alors que je souhaite que l'id sélectionné.
je vous joins le fichier export.php histoire d'avoir un aperçu de la chose et vous remercie

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
<?php	
 
// Connexion à la BDD
$bddname = 'crud2';
$hostname = 'localhost';
$username = 'root';
$password = '';
$db = mysqli_connect ($hostname, $username, $password, $bddname);
 
 
$req = "SELECT * FROM users WHERE id=".$_GET['id'];
$rep = mysqli_query($db, $req);
if(!$rep) 
	{
		die("Database query failed: " . mysql_error());
	}
 
 
 
	if(isset($_GET['id']))
			{
 
				$row = mysqli_fetch_array($rep, MYSQL_ASSOC);
				printf ("%s (%s)\n", $row["first_name"], $row["first_name"]);
 
			$content=file_get_contents('Profil.html'); 
 
 
		$nom = $row["first_name"];
		$content=str_replace('$nom',$nom,$content);
 
 
			}
	$filename="facture.doc";
	touch($filename);
		if (is_writable($filename)) {
			if (!$handle = fopen($filename, 'a')) {
			echo "Impossible d'ouvrir le fichier ($filename)";
			exit;
			}
		if (fwrite($handle, $content) === FALSE) {
		echo "Impossible d'écrire dans le fichier ($filename)";
		exit;
			}
			echo "<a href='$filename'>Télécharger le fichier</a>";
			fclose($handle);
			} 
 
			else {
			echo "Le fichier $filename n'est pas accessible en écriture.";
				}
 
 
 
		  //Permet de forcer le téléchargement du fichier sans cliquez sur le lien
		  //mais affiche tous les documents en brute en html dans word
 
if (file_exists($filename)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($filename).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($filename));
    readfile($filename);
    exit;
}	
 
 
?>
et fetch.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
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
125
126
127
128
129
<?php
include('db.php');
include('function.php');
$query = '';
$output = array();
$query .= "SELECT *, DATE_FORMAT(date, '%d/%m/%Y') AS 'date', DATE_FORMAT(date2, '%d/%m/%Y') AS 'date2' FROM users ";
if(isset($_POST["search"]["value"]))
{
	$query .= 'WHERE first_name LIKE "%'.$_POST["search"]["value"].'%" ';
	$query .= 'OR last_name LIKE "%'.$_POST["search"]["value"].'%" ';
		$query .= 'OR date LIKE "%'.$_POST["search"]["value"].'%" ';
		$query .= 'OR date2 LIKE "%'.$_POST["search"]["value"].'%" ';
 
}
if(isset($_POST["order"]))
{
	$query .= 'ORDER BY '.$_POST['order']['0']['column'].' '.$_POST['order']['0']['dir'].' ';
}
else
{
	$query .= 'ORDER BY date DESC, date2 DESC ';
}
if($_POST["length"] != -1)
{
	$query .= 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$statement = $connection->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
$filtered_rows = $statement->rowCount();
foreach($result as $row)
{
 
	//$date=$row["date2"];
 
					//$today = date("d-m-Y");
					//$today2 = date("d/m/Y", strtotime('+3 year'));
					//if ($today>$date){
						//$color="red";
					//}
 
						//else if ($today2>$date){
						//$color="orange";
					//}				 
 
 
						//else 
						//	{
							//	$color="black";
							//}
 
 
 $date  = DateTimeImmutable::createFromFormat('d/m/Y', $row['date2']);
$today = new DateTimeImmutable();
 
$color = 'red';
if ($date < $today) {
    if ($date >= $today->modify('-3 years')) {
        $color = 'red';
    } elseif ($date >= $today->modify('-5 years')) {
        $color = 'red';
		} 
 
 
    }
 
if ($date > $today) {
    if ($date <= $today->modify('+3 years')) {
        $color = 'orange';
    } elseif ($date <= $today->modify('+5 years')) {
        $color = 'black';
    }
 
 
 
}
 
 
	$image = '';
 
	if($row["image"] != '')
	{
		$image = '<a href="upload/'.$row["image"].'"" target="_blank"><IMG src="upload/pdf.png" alt=".pdf"></a>';
 
	}
	else
	{
		$image = '';
 
	}
	$image1 = '';
	if($row["image1"] != '')
	{
		$image1 = '<a href="certif/'.$row["image1"].'"" target="_blank"><IMG src="upload/pdf.png" alt=".pdf"></a>';
 
	}
	else
	{
		$image1 = '';
 
	}
 
	$sub_array = array();		
	$sub_array[] = $image1;
	$sub_array[] = $image;
	$sub_array[] = $row["date"];
	$sub_array[] = '<font color="'.$color.'">'.$row["date2"].'</font>';
	$sub_array[] = $row["first_name"];
	$sub_array[] = $row["last_name"];
	$sub_array[] = '<a href="export.php?id='.$row['id'].'">voir</a>';		
 
 
 
 
 
 
 
 
	$data[] = $sub_array;
}
$output = array(
	"draw"				=>	intval($_POST["draw"]),
	"recordsTotal"		=> 	$filtered_rows,
	"recordsFiltered"	=>	get_total_all_records(),
	"data"				=>	$data
);
echo json_encode($output);
?>