Archief - asp: include met filename uit database

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

didi

Legacy Member
Voor het project waaraan ik bezig ben, moet ik een aantal gegevens uit een database op een site krijgen. Een bepaald veld bevat een bestandsnaam.
Onder de gewone gegevens (referentienummer, contactpersoon, locatie enzovoort) wil ik een html bestand includen met de bestandsnaam uit de database.
Bij een normale include geef je de bestandsnaam op, maar deze komt nu uit de database en is dus een variabele (normaal: include file = test.html).

Hoe ga ik te werk om die bestanden toch nog te kunnen includen ??

groeten

didi

DarkBone

Legacy Member
http://www.google.be/search?q=asp+dynamic+include&ie=UTF-8&hl=nl&btnG=Google+zoeken&meta=

Zoals ru`orez voorstelt zal het dus niet werken, reden: de include directives worden uitgevoerd nog voordat er ook maar enige andere code wordt uitgevoerd wordt. Gevolg is dat je geen variabele kan gebruiken, want ASP zal dat niet aanzien als een variabele (en aangezien nog geen code is uitgevoerd zal die variabele ook nogn iet aangemaakt/opgevuld zijn; meer nog, eigenlijk is dat geen asp code die daars staat, directives zijn iets speciaal :P).

Als er in die include files geen ASP code zit dan kunt ge workarounds gebruiken, zoniet, dan zult ge een andere manier moeten zoeken.

didi

Legacy Member
idd de oplossing van ru`orez werkt niet, daarom ook deze thread...

DarkBone, ik veronderstel dat je met de include files de bestanden bedoelt die ingevoegd moeten worden, deze zijn simpele html bestanden, ik heb ook al gezocht achter een workaround, maar vind niet direct één ...

thx alvast voor reacties

Bunz

Legacy Member
een vb

<!--#include file="test.html"-->

==> om dit nu in asp te krijgen

%><!--#include file="<%=rs("kolomuitdatabese)%>'"--><%

eerst maken dat je asp weer gesloten wordt, daarna de code , daarna asp opene en variable wegschrijven <%= (is zelfde als <%response.write()) daarna je naam dat je uit je database haalt met een recordset. asp code weer sluiten enz ...

hopefully this does the trick

edit: nog enkele opmerkingen

- als je simpele html bestanden in een andere map staan moet je hiermee rekening houden
- als je in de tabel de namen met gwn naam bv test bijhoudt moet je natuurlijk ook nog .html achter plaatsen

DarkBone

Legacy Member
didi zei:
idd de oplossing van ru`orez werkt niet, daarom ook deze thread...

DarkBone, ik veronderstel dat je met de include files de bestanden bedoelt die ingevoegd moeten worden, deze zijn simpele html bestanden, ik heb ook al gezocht achter een workaround, maar vind niet direct één ...

thx alvast voor reacties

Heb je mijn link wel gevolgd? De eerste 3 zoekresultaten geven elk een workaround... :angry:

@Bunz - ik kom net van te zeggen dat die methode niet werkt

didi

Legacy Member
DarkBone zei:
Heb je mijn link wel gevolgd? De eerste 3 zoekresultaten geven elk een workaround... :angry:
sorry darkbone, heb niet goed gekeken, kzal het eens proberen

Bunz

Legacy Member
DarkBone zei:
Heb je mijn link wel gevolgd? De eerste 3 zoekresultaten geven elk een workaround... :angry:

@Bunz - ik kom net van te zeggen dat die methode niet werkt

mijn excuses om u post niet te lezen, ik moet u geen belangrijk mens gevondne hebben ? :ironic: k'gaat straks zelf es uitproberen , geloof er niet teveel van ook

didi

Legacy Member
Ok, dit is wat ik "in mekaar geknutseld" heb:

... (opbouw van de databaseconnectie en de resultset)
Dim test
test = (rs1.Fields.Item("bestand").Value)

Dim fname
fname = test

set fso = createobject("scripting.filesystemobject")
if fso.FileExists (server.mappath(fname)) then
Server.Execute(fname)
End If

code moet nog wa opgekuisd worden, maar het werkt dus.
thx voor de hulp :)

orez

Legacy Member
mja srr van mijn oplossing, maar heb dan ook weinig tot geen ervaring met de oude ASP, ik gebruik usercontrols in aspx :) mijn excuses ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan