Detta är en fil jag har nu (functions.inc) som jag inkluderar i alla saker.
<% Function xxx(id, level)
Set C = Server.CreateObject("ADODB.Connection")
'C.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databejs.mdb")
C.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Server.MapPath("\webshop\") & "\databejs.mdb"
Set R = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM categories WHERE PID = " & id - 0
R.Open SQL, C, 1, 3
If NOT R.EOF Then
strIDs = ""
Do Until R.EOF
a = 0
Do Until a = level
Response.Write " "
a = a + 1
Loop %>
<option value="<%=R("ID")%>">
<% a = 0
Do Until a = level
Response.Write " "
a = a + 1
Loop
Response.Write R("category") %>
</option>
<% Call xxx(R("ID"), level + 1)
R.MoveNext
Loop
End if
R.Close
C.Close
End Function %>
<% ' // Function to get all the levels of the menu
Function GetMenu(id, level)
Set C = Server.CreateObject("ADODB.Connection")
C.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Server.MapPath("\webshop\") & "\databejs.mdb"
Set R = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT ID, PID, category FROM categories WHERE PID = " & strip(id)
R.Open SQL, C, 1, 3
If NOT R.EOF Then
Do Until R.EOF
a = 0
Do Until a = level
intPadding = (level * 10)
If intPadding = "" Then intPadding = 0
a = a + 1
Loop %>
<div style="padding-left: <%=intPadding%>px; clear: left;">
<a href="?cid=<%=R("ID")%>"><%=R("category")%></a>
</div>
<% Call GetMenu(R("ID"), level + 1)
R.MoveNext
Loop
End if
R.Close
C.Close
Set SQL = Nothing
Set R = Nothing
Set C = Nothing
Set level = Nothing
End Function
' *** Function to write out layer headers
' >> Usage: Call header(intWidth, strContent)
' >> intWidth = Width in pixels (eg. 50)
' >> strContent = Text content of header (eg. "Member profile" or variable)
Function header(intWidth, strContent)
Response.Write "<div class='menu_header' style='width: " & intWidth & "px'>" & "<div class='header_content'>" & strContent & "</div>" & "</div>"
End Function
'// Function to strip out characters that could be used in a SQL injection
Function strip(input)
retVal = replace(input, "'", "")
retVal = replace(retVal, "--", "")
retVal = replace(retVal, "../", "")
retVal = replace(retVal, ";", "")
retVal = Server.HTMLEncode(retVal)
strip = retVal
End Function %>
<% Sub LinkTree(intParent,intIndent)
For X = 0 To Ubound(arrLinks,2)
If arrLinks(1,X) = intParent AND (Cstr(arrLinks(1,X))=Cstr(0) OR instr("," & strParentID & ",","," & intParent & ",") > 0) Then
strPid = ""
For Z = 1 To intIndent %>
<% Next
strBullet = " "
If intIndent = 0 Then
Sublink = arrLinks(0,X)
Else
For Z = 1 To intIndent
strPid = strPid & split(strParentID,",")(Z-1) & ","
Next
Sublink = strPid & arrLinks(0,X)
End if %>
<a href="default.asp?cid=<%=arrLinks(0,X)%>&pid=<%=Sublink%>"><%=strBullet & arrLinks(2,X)%></a><br>
<% Call LinkTree(arrLinks(0,X),intIndent + 1)
End If
Next
End Sub
Function GetRows(ByVal SQL)
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Server.MapPath("\webshop\") & "\databejs.mdb"
Set RS = Connection.Execute(SQL)
If Not RS.BOF Or Not RS.EOF Then
arrRecords = RS.GetRows()
Else
arrRecords = ""
End If
RS.Close
Set RS = nothing
Connection.Close
Set Connection = Nothing
GetRows = arrRecords
End Function %>
<%
'// Kontrollerar om bild finns.
Function GetImg(str)
'// mappen som bilderna ligger.
strCat = "products/"
'// skapar bildnamn och lägger till ändelsen .jpg
strFile = str &".jpg"
'// bygger ihop mappen och filnamnet för kontroll.
strPath = strCat &""& strFile
'// Skapar objektet
Set file = Server.CreateObject("Scripting.FileSystemObject")
'// Kontrollera om filen finns
If file.FileExists(Server.MapPath(strPath)) Then
'// om bilden finns.
GetImg = "<img src='"& strPath &"' alt='"& strFile &"' / border='0' widht='50' height='37'> "
Else
'// om bilden saknas.
GetImg = "<img src='pics/nopic.gif' border='0'>"
End if
End Function
%>
<%
'// Kontrollerar om bild finns.
Function GetImg2(str)
'// mappen som bilderna ligger.
strCat = "products/"
'// skapar bildnamn och lägger till ändelsen .jpg
strFile = str &"_big.jpg"
'// bygger ihop mappen och filnamnet för kontroll.
strPath = strCat &""& strFile
'// Skapar objektet
Set file = Server.CreateObject("Scripting.FileSystemObject")
'// Kontrollera om filen finns
If file.FileExists(Server.MapPath(strPath)) Then
'// om bilden finns.
GetImg2 = strPath
Else
'// om bilden saknas.
GetImg2 = "nopic.gif"
End if
End Function
%>
I denna kod, så har jag ju då flera "anslutningar"; ska jag ta bort den nedre av dom alltså?