Je suis en train de réaliser une petite application en PHP ; en fait, il s'agit de réaliser un petit site qui affichera une liste de liens pointant vers des fichiers PDF.
J'ai déjà réalisé l'essentiel mais je ne parviens pas à ouvrir les fichiers PDF dans la même page.
Je m'explique (et je joins mon code en bas de message) : j'ai une page qui contient de l'HTML et du PHP ; le code PHP liste le contenu d'un répertoire et remplit une base SQL avec les entrées qu'il y trouve. Le résultat, c'est une liste de liens qui pointent vers des fichiers PDF ; les liens fonctionnent très bien, mais ce que je voudrais c'est que l'utilisateur ne sorte pas de la page ; j'aimerais qu'en cliquant sur le lien, le document PDF s'ouvre dans un frame dans la même page. Et c'est précisément cela que je n'arrive pas à faire !!!!!
Je vous joins mon code ci-dessous :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//FR" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Les revues de presse de la semaine</title></head>
<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 209);" alink="#000099" link="#000099" vlink="#990099">
<!-- Tableau d'une cellule contenant le bandeau Intranet -->
<table style="text-align: center; width: 100%;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img style="width: 100%; height: 84px;" alt="" src="Images/Bandeau_intranet.jpg"></td>
</tr>
</table>
<!-- Tableau d'une ligne et 3 colonnes contenant les bandeaux gauche/droite et le code PHP en partie centrale -->
<table border="0" cellpadding="0" cols="3" width="100%">
<td style="width: 15%;"><img style="width: 190px; height: 499px;" alt="" src="Images/bandeau_gauche.jpg"></td>
<td style="text-align: center; width: 70%;" border="0" cellpadding="0" cellspacing="2"><font size="+3"><span style="font-family: Lucida Grande;">
<?php
//connexion
$connectfile = "connexion.php";
require $connectfile;
/*******************************vider la table****************************************/
/*$res3 = mysql_query("TRUNCATE TABLE revues") or exit(mysql_error("Erreur : La table n\'est pas vidée, CONTACTEZ l'administrateur "));*/
/*************************************Lister les fichiers du repertoire*******************/
//Lecture du répertoire contenant les fichiers pdf de la revue de presse et insertion des entrées dans la base
/*$dir_nom = 'C:/xampp/htdocs/Revue de presse/RS/'; // dossier listé (pour lister le répertoire courant : $dir_nom = '.' --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers
while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}
//fermeture du repertoire
closedir($dir);
// insertion des noms des fichiers dans la table
foreach($fichier as $lien) {
mysql_query("INSERT INTO revues (id,nom_fichier) VALUES ('','$lien')");
}*/
$table ='revues';
//nombre d'enregistrement
$req = 'select * from '.$table;
$resultat_req = mysql_query($req);
$nb_enregistrement = mysql_num_rows($resultat_req) or exit(mysql_error("Erreur : dans l\'extraction du nombre de ligne, CONTACTEZ l'administrateur "));
//requete de la revue du Jour
$requeteJ = 'select nom_fichier from '.$table.' where revues.id = '.$nb_enregistrement;
//requete des revues de la semaine
$requeteS = 'select nom_fichier from '.$table.' where revues.id < '.$nb_enregistrement.' order by id desc limit 5';
$res = mysql_query($requeteJ) or exit(mysql_error("Erreur : dans l\'execution de la requete d\'extraction de la revue du jour, CONTACTEZ l'administrateur "));
echo '<table style="text-align: justify; width: 100%;" border="0"><tr>';
echo '<th align=center>';
echo 'La revue du jour';
echo '</th>';
echo '</tr>';
while ($row = mysql_fetch_row($res)) {
echo '<tr>';
for ($j = 0; $j < count($row); $j++) {
$max = -4;
if (strlen($row[$j]) >= $max) {
$row[$j] = substr($row[$j], 0, $max);
$chaineJ = substr($row[$j], 6, 2); // 20080613 -> 13
$chaineM = substr($row[$j], 4, 2); // 20080613 -> 06
$chaineA = substr($row[$j], 0, 4); // 20080613 ->2008
}
$date=$chaineJ.' / '.$chaineM.' / '.$chaineA;
$nomfichier=$chaineA.$chaineM.$chaineJ;
echo '<td align=center>';
echo ($row[$j] == NULL) ? '<i>NULL</i>' : '<a href=http://localhost/Revue%20de%20presse/RS/'.$nomfichier.'.pdf>'.$date.'</a>';
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
/***********************************************************************************/
$res = mysql_query($requeteS) or exit(mysql_error("Erreur : dans l\'execution de la requete d\'extraction des revues de la semaine, CONTACTEZ l'administarteur' "));
echo '<table style="text-align: justify; width: 100%;" border="0"><tr>';
echo '<th align=center>';
echo 'Les revues de la semaine';
echo '</th>';
echo '</tr>';
while ($row = mysql_fetch_row($res)) {
echo '<tr>';
for ($j = 0; $j < count($row); $j++) {
$max = -4;
if (strlen($row[$j]) >= $max) {
$row[$j] = substr($row[$j], 0, $max);
$chaineJ = substr($row[$j], 6, 2); // 20080613 -> 13
$chaineM = substr($row[$j], 4, 2); // 20080613 -> 06
$chaineA = substr($row[$j], 0, 4); // 20080613 ->2008
}
$date=$chaineJ.' / '.$chaineM.' / '.$chaineA;
$nomfichier=$chaineA.$chaineM.$chaineJ;
/********************************************/
//if(date("11062008 w")) echo date("w");//
/*******************************************/
echo '<td align=center>';
echo ($row[$j] == NULL) ? '<i>NULL</i>' : '<a href=http://localhost/Revue%20de%20presse/RS/'.$nomfichier.'.pdf>'.$date.'</a>';
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
</span></font></td>
<td style="width: 15%;"><img style="width: 190px; height: 499px;" alt="" src="Images/bandeau_droite.jpg"></td>
</table>
<!-- Tableau d'une cellule contenant le texte d'information -->
<table style="text-align: center; width: 100%;" border="0" cellpadding="0" cellspacing="0">
<tr style="font-style: italic; font-family: Lucida Grande;" align="center">
<td>Petit texte en base de page</td>
</tr>
</table>
</BODY>
Merci d'avance de votre aide !!!!!