Jag hämtar värden från en databas och loopar ut dom. <% Mitt tips är följande. Enklast är nog att köra en Replace("texten", "<%=antal%>", antal) när du skriver ut den eler in i en variabel...Asp i asp
I vissa av värdena kan det finnas asp-kod, t.ex. <%=antal%>.
Variablen "antal" tilldelas ett värde när jag skapar anslutningen och ska sedan skrivas ut när loppen är klar, men detta verkar inte fungera.
Nån som vet varför?Sv: Asp i asp
pageid = Request.QueryString("pageid")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open ("driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("..\user\db\db.mdb"))
SQL = "SELECT * From tabell WHERE ID = '" & pageid & "'"
Set rs = Connection.Execute(SQL)
SQL2 = "SELECT * FROM counter"
Set rs2 = Connection.Execute(SQL2)
antal = rs2("hits")
%>
[ HTML KOD ]
<%
Do While Not rs.EOF
%>
[ DET SOM LOOPAS ]
<%
rs.MoveNext
Loop
%>
[ HTML KOD ]Sv: Asp i asp
Eftersom du läser ut texten från en databas så tror ASP att det endast är vanlig text, alltså den tolkar inte <% %> som ett ASP-kommand, om du däremor hade spara <B></b> databasen så hade det gått bra eftersom ASP tror att det är text medans webläsaren (som kommer lite senare) tror att det är ett html-kommando.
Om det inte är många ASP-kommando du har i databasen så är tipset en Replace sats innan det skrivs ut på av ASP typ så här.
<code>
...
antal = 5
do until oRs.eof
response.write replace(oRs.fields(0),"antal",antal)
ors.movenect
loop
</code>
Tror du kommer få svårt att köra ASP-kommando från en databas, det går däremot från en fil, så om du måste köra dem kan du skapa en fil från databasen, köra en server.execute på den filen och då bör du få <%=antal%> omvandlat till ett tal, men jag har aldrig testat så jag vet inte.
- magnusSv: Asp i asp
/Thomas