IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Probleme de fusion varible php dans fichier RTF [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : 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
    <!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>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a une parenthese qui se promene ligne 30.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    J'ai modifier mon tableau j'ai vue que j'avais fais quelle que petite erreurs merci à sabotage

    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
    $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!?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as une virgule qui se ballade a la fin de ton tableau.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    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 ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'aurais pas oublié de fermer la parenthese avant le ; ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    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 ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quel est l'erreur ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\EasyPHP-5.3.3.1\www\SDAD 1\courrier.php on line 53

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'erreur ne dit pas "indéfinie", elle dit "inattendue"

    Tu as bien mis le ; ?
    Si oui montre ton code maintenant.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    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
    <!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>

  12. #12
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    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 : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    tiens tiens tiens...

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu y tiens à cette virgule.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    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

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu confonds virgule , et point-virgule ;

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    je dois mettre ou ma virgule ?

  17. #17
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    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 : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    exemple de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $variable = array( "value", "key" => "other value", 'other key' => .007 );

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    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 : 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
    $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_" => "" );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Librairies] Inserer lignes dans fichier RTF
    Par tit_oune dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 04/05/2012, 11h21
  2. [PHP 5.2] probleme d'inclusion de classe dans fichier php
    Par diblasio dans le forum Langage
    Réponses: 1
    Dernier message: 08/12/2009, 19h26
  3. [Tableaux] tableau dans fichier rtf
    Par crischprolch dans le forum Langage
    Réponses: 1
    Dernier message: 04/07/2007, 12h17
  4. [PHP-JS] probleme pour mettre du php dans du javascript
    Par carmen256 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/07/2006, 17h09
  5. Problème menu de root PHP dans une frame
    Par carmen256 dans le forum Langage
    Réponses: 9
    Dernier message: 18/05/2006, 21h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo