problem bei ausgabe von gefilterten werten...

Alexander Schuc

crazy-weasel
nabd,

ich habe mir ein script gebastelt, das eine textdatei öffnet, zeile für zeile ausliest, und sofort wieder ausgibt, bis eine bestimmte zeichenkette in einer zeile ist.
wenn dies der fall ist, liest er die nächsten paar zeilen ein, wieder bis eine bestimmte zeichenkette erreicht ist..

wenn er nun diesen bereich eingelesen hat, soll er andere zeichen da drinnen durch werte aus einer DB ersetzen, und ausgeben.. und das soll er tun bis die datenbank ale datensätze durch hat..

nur will er das gefilterte nicht ausgeben.. :(
wenn ich allerdings ihm sage das er das ungefilterte ausgeben soll, ersetzt er die werte einmal, und gibt einund dasselbe immer sooft aus, wie datensätze inder DB sind.. :(

hier das script:
PHP:
<%@ Language=VBScript %>
<!--#include file="adovbs.inc"-->
<%
' DB-Anbindung herstellen
set con = Server.CreateObject("ADODB.Connection")
SET RS = Server.CreateObject("ADODB.RecordSet")
con.Open "DSN=cwcom"
sql = "Select * from tab_gb"
RS.Open sql, con, adOpenStatic

' Physischen pfad zur datei herausfinden
vPath = "data/1138292872.txt"
filep = Server.MapPath(vPath)

' Datei öffnen
SET FSO = Server.CreateObject ("Scripting.FileSystemObject")
SET datSRC = FSO.OpenTextFile(filep, 1)

' Filter
function mFilter(str)
str=replace(str, "#name#", nickname)
str=replace(str, "#email#", email)
str=replace(str, "#hp#", hp)
str=replace(str, "#icq#", icq)
str=replace(str, "#msg#", txt)
end function

while not datSRC.AtEndOfStream
	
	aline = datSRC.ReadLine

	if aline="<!-- start -->" then
	
		Response.Write(aline & chr(10))
		
		do while rline <> "<!-- wend -->"
			rline = datSRC.ReadLine
			rep = rep & rline & chr(10)
		loop
		
		while not RS.eof
		nickname = RS.Fields("nickname")
		email = RS.Fields("email")
		hp = RS.Fields("hp")
		icq = RS.Fields("icq")
		txt = RS.Fields("txt")
		
			fmsg = mFilter(rep)
			Response.write(fmsg)
			RS.MoveNext
		wend

	END IF

	Response.Write(aline & chr(10))

wend

' Verbindungen schließen
RS.Close
con.Close
datSRC.close
%>
 
hm..
hab mich die letzen tage mit dem script beschäftigt und einiges ausprobiert.. z.b. die werte in ne textdatei schreiben lassen ...

eingelesen hat er richtig..die werte holt er sich immer schön brav aus der DB.. nur der filter will die nciht annehmen..
hm..hm..
 
*arg*
habs zum laufen gebracht.. :D .. und mir wurde sogar klar warumsnciht funzte.. :D

der filter hat ja die variable rep umgeändert.. also konnte der filter ncihts mehr filtern-... jetz hab ich einfach noch eine variable eingeführt.. und am beginn der ausgabe-schleife wird dieser variable der wert des ungefilterten 'rep' zugewiesen.. :D

doch noch ohne hilfe geschaft .. :)
 
Zurück