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 :

[PHPword] pb ouverture de tous les profils dans un seul doc


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Par défaut [PHPword] pb ouverture de tous les profils dans un seul doc
    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);
    ?>

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Par défaut
    Bonsoir,

    Malgré de nombreuses recherche j'ai fait chou blanc ...
    Jusqu'à ce que je constate que le fichier en question était enregistré dans le dossier de wamp ; du coup à chaque modification du code il m'ouvrait toujours le même fichier.
    J'ai juste remplacé le paramètre du mode d'ouverture de la fonction fopen() "a" par "w+" pour écraser le fichier à chaque fois .

    w+ : Ouvre le fichier en mode lecture et écriture, place le pointeur au début du fichier. Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire, il crée le fichier.
    Merci quand même et passez une bonne soirée ...

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

Discussions similaires

  1. [SQL] Récupérer toutes les valeurs dans un seul champs
    Par sempire dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/11/2009, 10h44
  2. Ouverture de tout les fichiers d'un répertoire
    Par undercrash dans le forum Langage
    Réponses: 18
    Dernier message: 15/06/2006, 09h51
  3. Retrouver toutes les occurences dans un memo
    Par johweb dans le forum Delphi
    Réponses: 2
    Dernier message: 09/06/2006, 14h44
  4. [Tableaux] Recuper toutes les options dans select
    Par Tempotpo dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2006, 14h26
  5. Réponses: 2
    Dernier message: 17/06/2005, 23h03

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