Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2010, 17h50   #1
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
Par défaut Probleme de fusion varible php dans fichier RTF

Bonjour,
Je voudrais faire du remplacement exemple j'ai un champ '_nom_' dans mon fichier RTF et je voudrais le remplacer par le variable $nom qui provient de la fonction que j'ai développer .cette fonction permet de fusionner, de lire et écrire et remplacer dans un fichier RTF les champs sélectionner et de le renvoyer en téléchargement a l'utilisateur.

Mais voila j ai une erreur dès le début!
qui est
Code :
Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 31
pour appeler la fonction j'utilise dans mon programme principal :

Code :
<td><a href="./courrier.php?file=L_cs_dem_pat.rtf&id=<?php echo $idpat; ?>">
l'RUL avec les paramètre que je transmet est
http://127.0.0.1:8888/SDAD%201/courr...pat.rtf&id=173


voici la fonctionne qui ne fonctionne pas
Code :
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY>
<?php
include_once 'fonctions.php';
require('connexion.php');
require('fonctions/DateFrMySQL.php'); 
 
$_params = $_GET + $_POST; 
$fname	= (isset($_params["file"])) ? $_params["file"]: "L_cs_dem_pat.rtf"; 
$id		= (isset($_params["id"])) ? $_params["id"]  : "171";
 
$dbprotect = mysql_connect($hostname_dbprotect, $username_dbprotect, $password_dbprotect) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_dbprotect, $dbprotect) or die("Erreur SQL : $resultat<br/>".mysql_error());
 
// on écrit la requête sql 
$sql = "SELECT id, Nom_du_patient, Prenom_du_patient, Date_de_naissance, 
				Date_de_demande, Medecin_suivant_le_patient_dans_le_service, demande_adressée_par, adressee_à, 
				service, nombres_de_pages, Etat, pole, Date_de_réponse, civilite, nom_ayant_droit, anciennete_dossier
		FROM dossier_tbl  
		WHERE id=\"$id\" ";
$db_data = array ("id", "nom", "prenom", "ddn", "date_demande", "Medecin_suivant_le_patient_dans_le_service", "demandeur", "destinataire", 
				"nom_serv", "nombres_de_pages", "etat", "pole", "date_reponse", "civilite", "ayant_droit", "anciennete_dossier");
 
//	**	Tableau de base pour la fusion	** 
$fusion = array (
		"_nom_" => "",
		"_prenom_" => "",
		"_ddn_" => "");
		"_date_demande_" => "",
		"_Medecin_suivant_le_patient_dans_le_service_" => "",
		"_demandeur_" => "",
		"_nom_serv_" => "", 
		"_nombres_de_pages_"=> "",
		"_etat_" => "",
		"_pole_" => "",
		"_date_reponse_" => "",
		"_civilite_" => "",
		"_ayant_droit_" => "",
		"_anciennete_dossier_" => ""); 
		"_documents_" => "",
		"_chef_serv_" => "", 
		"_date_" => "", 
 
 
 
 
 
 
 
//	**	Remplissage du tableau de base 	** 
$fusion["_nom_"]												= "Patient";
$fusion["_prenom_"]												= "pauvre";
$fusion["_ddn_"]												= "00-00-0000";
$fusion["_date_demande_"]										= jmma();
$fusion["_Medecin_suivant_le_patient_dans_le_service_"]			= " ";
$fusion["_demandeur_"]											= "service_aucun";
$fusion["_nom_serv_"]											= "Unité soins intensifs sur les projets";
$fusion["_nombres_de_pages_"]									= "0";
$fusion["_etat_"]												= "Compte rendu opératoire";
$fusion["_pole_"]												= "Compte rendu opératoire";
$fusion["_date_reponse_"]										= jmma();
$fusion["_civilite_"]											= "M.";
$fusion["_ayant_droit_"]										= "ayantdroit";
$fusion["_anciennete_dossier_"]									= "00-00-0000";
$fusion["_documents_"]											= "Compte rendu opératoire";
$fusion["_nom_serv_"]											= "aucun";
$fusion["_chef_serv_"]											= "Lefebvre";
$fusion["_date_"]												= jmma();
 
 
 
 
//	**	Lecture et Insertion des données lues	** 
$selection = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
if (is_array($selection)) 
	if (count($selection) > 0)
{	$last = count($selection)-1;
	$rec = $selection[$last];
	for ($i = 0; ($i < count($rec)) && ($i < count($db_data)); $i++)
		$fusion['_'.$db_data[$i].'_'] = $rec[$i];
}
 
//	**	Génération et téléchargement du courrier	** 
$path_parts = pathinfo($fname);
$basename = $path_parts["basename"];
$basename = substr($basename, 0, 
					strlen($basename)-1-strlen($path_parts["extension"]));
$fsource = "./rtf/$basename.".$path_parts["extension"];
if (file_exists($fsource))
{	$texte = file_get_contents($fsource);
	$texte = strtr ($texte, $fusion);
	$fdest = "./envois/$basename"."_".date("ymd").".".$path_parts["extension"];
	$f = fopen($fdest, 'w');
	fwrite ($f, $texte);
	fclose($f);
	echo "<a href=\"$fdest\">imprimer le courrier</a>";
}
else echo "$fsource non trouvé";
?>
</BODY></HTML>
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 18h06   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il y a une parenthese qui se promene ligne 30.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 18h17   #3
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
J'ai modifier mon tableau j'ai vue que j'avais fais quelle que petite erreurs merci à sabotage

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$fusion = array (
		"_nom_" => "",
		"_prenom_" => "",
		"_ddn_" => "",
		"_date_demande_" => "",
		"_Medecin_suivant_le_patient_dans_le_service_" => "",
		"_demandeur_" => "",
		"_nom_serv_" => "", 
		"_nombres_de_pages_"=> "",
		"_etat_" => "",
		"_pole_" => "",
		"_date_reponse_" => "",
		"_civilite_" => "",
		"_ayant_droit_" => "",
		"_anciennete_dossier_" => "",
		"_documents_" => "",
		"_chef_serv_" => "", 
		"_date_" => "", 
 
		 )
Mais maintenant j'ai l'erreur suivante:
Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 53

j'ai cette erreur alors que d'apres moi j ai déclarer toute mes variables!?
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 19h47   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu as une virgule qui se ballade a la fin de ton tableau.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 16/12/2010, 20h31   #5
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
j'ai supprimé la virgule mais j ai toujours une erreur
Parse error: syntax error, unexpected ';', expecting ')' in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 53

je me demande si la syntaxe de mon tableau est correcte ?
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 21h13   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu n'aurais pas oublié de fermer la parenthese avant le ; ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h08   #7
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
j'ai fermé la parenthèse mais j ai toujours l'erreur de tout a l heur une variable qui n'est pas définie je ne vois pas la quel ?
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h29   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Quel est l'erreur ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h32   #9
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 53
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h48   #10
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
L'erreur ne dit pas "indéfinie", elle dit "inattendue"

Tu as bien mis le ; ?
Si oui montre ton code maintenant.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h57   #11
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
Code :
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY>
<?php
include_once 'fonctions.php';
require('connexion.php');
require('fonctions/DateFrMySQL.php'); 
 
$_params = $_GET + $_POST; 
$fname	= (isset($_params["file"])) ? $_params["file"]: "L_cs_dem_pat.rtf"; 
$id		= (isset($_params["id"])) ? $_params["id"]  : "171";
 
$dbprotect = mysql_connect($hostname_dbprotect, $username_dbprotect, $password_dbprotect) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_dbprotect, $dbprotect) or die("Erreur SQL : $resultat<br/>".mysql_error());
 
// on écrit la requête sql 
$sql = "SELECT id, Nom_du_patient, Prenom_du_patient, Date_de_naissance, 
				Date_de_demande, Medecin_suivant_le_patient_dans_le_service, demande_adressée_par, adressee_à, 
				service, nombres_de_pages, Etat, pole, Date_de_réponse, civilite, nom_ayant_droit, anciennete_dossier
		FROM dossier_tbl  
		WHERE id=\"$id\" ";
$db_data = array ("id", "nom", "prenom", "ddn", "date_demande", "Medecin_suivant_le_patient_dans_le_service", "demandeur", "destinataire", 
				"nom_serv", "nombres_de_pages", "etat", "pole", "date_reponse", "civilite", "ayant_droit", "anciennete_dossier");
 
//	**	Tableau de base pour la fusion	** 
$fusion = array (
		"_nom_" => "",
		"_prenom_" => "",
		"_ddn_" => "",
		"_date_demande_" => "",
		"_Medecin_suivant_le_patient_dans_le_service_" => "",
		"_demandeur_" => "",
		"_nom_serv_" => "", 
		"_nombres_de_pages_"=> "",
		"_etat_" => "",
		"_pole_" => "",
		"_date_reponse_" => "",
		"_civilite_" => "",
		"_ayant_droit_" => "",
		"_anciennete_dossier_" => "",
		"_documents_" => "",
		"_chef_serv_" => "", 
		"_date_" => "", 
		);
 
 
 
 
 
 
//	**	Remplissage du tableau de base 	** 
$fusion["_nom_"]												= "Patient";
$fusion["_prenom_"]												= "pauvre";
$fusion["_ddn_"]												= "00-00-0000";
$fusion["_date_demande_"]										= jmma();
$fusion["_Medecin_suivant_le_patient_dans_le_service_"]			= " ";
$fusion["_demandeur_"]											= "aucun demandeur";
$fusion["_nom_serv_"]											= "aucun service";
$fusion["_nombres_de_pages_"]									= " ";
$fusion["_etat_"]												= "en cour";
$fusion["_pole_"]												= "Pole 0";
$fusion["_date_reponse_"]										= jmma();
$fusion["_civilite_"]											= "M.";
$fusion["_ayant_droit_"]										= "ayantdroit";
$fusion["_anciennete_dossier_"]									= "00-00-0000";
$fusion["_documents_"]											= " ";
$fusion["_chef_serv_"]											= "Lefebvre";
$fusion["_date_"]												= jmma();
 
 
 
 
//	**	Lecture et Insertion des données lues	** 
$selection = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
if (is_array($selection)) 
	if (count($selection) > 0)
{	$last = count($selection)-1;
	$rec = $selection[$last];
	for ($i = 0; ($i < count($rec)) && ($i < count($db_data)); $i++)
		$fusion['_'.$db_data[$i].'_'] = $rec[$i];
}
 
//	**	Génération et téléchargement du courrier	** 
$path_parts = pathinfo($fname);
$basename = $path_parts["basename"];
$basename = substr($basename, 0, 
					strlen($basename)-1-strlen($path_parts["extension"]));
$fsource = "./rtf/$basename.".$path_parts["extension"];
if (file_exists($fsource))
{	$texte = file_get_contents($fsource);
	$texte = strtr ($texte, $fusion);
	$fdest = "./envois/$basename"."_".date("ymd").".".$path_parts["extension"];
	$f = fopen($fdest, 'w');
	fwrite ($f, $texte);
	fclose($f);
	echo "<a href=\"$fdest\">imprimer le courrier</a>";
}
else echo "$fsource non trouvé";
?>
</BODY></HTML>
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h01   #12
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
tiens tiens tiens...
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 16/12/2010, 23h03   #13
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu y tiens à cette virgule.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h13   #14
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
donc j'enlève ";" et je laisse ")"

Quand je fais ca j'ai l'erreur ;
Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 53
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h14   #15
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
tu confonds virgule , et point-virgule ;
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h19   #16
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
je dois mettre ou ma virgule ?
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h27   #17
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
exemple de syntaxe
Code :
1
2
 
$variable = array( "value", "key" => "other value", 'other key' => .007 );
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h44   #18
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : -1
Points : -1
sur ce que j ai compris avec la syntaxe que tu ma montrer il faut que j'ajoute ); a la fin de mon array
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$fusion = array (
		"_nom_" => "",
		"_prenom_" => "",
		"_ddn_" => "",
		"_date_demande_" => "",
		"_Medecin_suivant_le_patient_dans_le_service_" => "",
		"_demandeur_" => "",
		"_nom_serv_" => "", 
		"_nombres_de_pages_"=> "",
		"_etat_" => "",
		"_pole_" => "",
		"_date_reponse_" => "",
		"_civilite_" => "",
		"_ayant_droit_" => "",
		"_anciennete_dossier_" => "",
		"_documents_" => "",
		"_chef_serv_" => "", 
		"_date_" => "" );
waltcap est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h02.


 
 
 
 
Partenaires

Hébergement Web