Fichier include via une base de donnée SQL

Signaler
Messages postés
6
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
11 décembre 2008
-
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
Voici mon problème :
J'ai une base de donnée SQL 7 avec les 3 champs suivants : idRubrique, texte et includeFile.

Les informations contenus dans les champs idRubrique et texte de cette base de données s'affichent sur ma page dv_index.asp. Jusque là pas de problème.

Le souci est que parfois au lieu d'afficher le contenu des champs idRubrique et texte, je souhaite faire afficher à la place une autre page web asp (qui se trouve dans mon répertoire) avec un tout autre contenu. Pour cela, j'ai donc fait un include dans ma page dv_index.asp qui donne la chose suivante : <!--#include file="<%=fldincludeFile%>"-->.
Sachant que fldincludeFile correspond au champ includeFile dans ma base de donnée et que dans ce champs, il y a tous les noms de mes pages web (qui se trouvent physiquement dans un répertoire) sur lesquels je souhaite faire un include dans la page dv_index.asp.

Cela ne fonctionne pas. Je souhaiterais savoir si vous avez une solution pour faire des includes comme <!--#include file="MaPage.asp"--> mais où MaPage.asp sera appelé via une mon champs includeFile tout en sachant que cette page existe bien physiquement dans un répertoire.

Merci pour votre aide.

8 réponses

Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour
Ta solution ne peut effectivement pas fonctionner car #include (directive SSI : server Side Include) ne fonctionne que du côté SERVEUR, or <%= est équivalent à response.write, l'objet response étant, comme son nom l'indique, la réponse renvoyée au navigateur. Donc...
Une solution est d'utiliser response.redirect.
Cordialement
Roro webDev 8-)
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour
Ah j'oubliais : à essayer, peut-être :
<!--#include file=fldincludeFile-->

Cordialement
Roro webDev 8-)
Messages postés
6
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
11 décembre 2008

Après avoir essayé, cela me donne le message d'erreur suivant :

Active Server Pages erreur 'ASP 0126'

Fichier Include non trouvé

/intranet/pages/dv_index.asp, ligne 255

Le fichier Include 'fldincludeFile' était manquant.

Quelle est la solution la mieux approprié pour régler mon problème ?
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour


Cordialement
Roro webDev 8-)
Messages postés
6
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
11 décembre 2008

J'ai testé, cela fonctionne à moitié. En effet sur ma page j'obtiens un genre de texteara avec une page web à l'intérieur mais qui m'affiche "Impossible de trouver la page". Ce message d'erreur s'affiche uniquement si je mets le code suivant : ">.

Par contre si je mets ce code ci : , cela fonctionne très bien et je vois ma page dans le textarea.

Le souci est que je souhaite avoir une seule page (dv_index.asp)dans laquelle je pourrais inclure toute les pages que je souhaite. Le nom de ces pages souhaitées serait contenu dans ma base de données SQL.

L'objectif de départ était d'avoir un menu dynamique à gauche de mon site qui me permette lorsque je passe la souris sur l'une des sous rubrique d'obtenir un lien du type : http://intranet.local/intranet/dv/dv_index.asp?idRubrique=1 dans la barre d'adresse I.E.
Le contenu de chaque page est gérer via ma base de données. La page 1 serait alors idRubrique=1, la page 2 serait idRubrique=2 ainsi de suite. Par contre il y a des fois ou je souhaiterais cliquer sur l'une des sous rubriques et que cela me renvoie sur une autre page (vers un autre site) par exemple www.google.fr. C'est donc ce lien vers cette autre page que je n'arrive pas à faire car à l'origine on idRubrique=1 ou idRubrique=2, idRubrique=3 et pas idRubrique= http://www.google.fr par exemple.

Merci pour l'aide que vous pourrez m'apporter.
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

pour "adoucir" la présentation :

<style type="text/css">
<!--
iframe {
border: none;
width: 100%;
height: 100%;
}
-->
</style>

Pour ton message d'erreur, je ne voit pas (testé chez moi : Ok), si ce n'est que ton champs fldIdRubrique ne contient peut-etre pas la donnée espérée (?)
Voir le source de la page générée

Cordialement
Roro webDev 8-)
Messages postés
6
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
11 décembre 2008

Mon champ fldIdRubrique qui se trouve dans ma base de données contient le nom de ma page qui est dv_accueil.asp.

Le but est d'insérer une iframe dans la page dv_index.asp est que le fldIdRubrique soit le nom de la page se trouvant dans ma base de données. En résumé c'est une iframe dynamique que je souhaite créer dont le nom de page asp ne se trouve pas en dur dans le code source de ma page dv_index.asp mais dans une base de données.

Je suis prêt à te communiquer mon n° de tel portable si tu souhaite avoir plus d'explications sur le sujet. Je pense qu'on ira plus vite si l'on procède de cette manière.
A+
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour
Je t'ai envoyé mon email
Cordialement
Roro webDev 8-)