Пожалуйста, дайте мне знать, если я смогу облегчить понимание вопросов, как я мог бы действительно с помощью ...
У нас есть каталог с категориями и псевдонимами, и я пытаюсь добавитьвозможность создавать псевдонимы подкатегорий , которые входят в категории верхнего уровня , где в настоящее время мы можем только добавлять подкатегории псевдонимов в другие подкатегории, а это не то, что нам нужно.
Например, , я бы хотел добавить подкатегорию «Агенты по недвижимости» в обе основные категории «Дом и сад» и «Финансы и ипотека».'.
Я могу добавить ' Агенты по недвижимости ', однако, к любой из подкатегорий, поэтому хотел бы включить категории верхнего уровня в раскрывающийся список выбора.наряду с подкатегориями.Надеюсь, что это имеет смысл!
Код размещен ниже и состоит из 2 отдельных файлов для обработки данных. В настоящее время он запрашивает PGID, который является GID родительского каталога - то есть категория верхнего уровня.
Мы хотим, чтобы в раскрывающемся списке выбора псевдонимов отображались не только подкатегории (GID), относящиеся к категориям верхнего уровня родительских категорий (PGID), но и PGID.сами по себе categoires верхнего уровня.
Например, опция выбора состоит из всех категорий уровней, таких как:
- Дом и сад (PGID)
- Агенты по недвижимости (GID)
- Поставщики мебели (GID)
- Садовые центры (GID) и т. Д.
Не только:
- Агенты по недвижимости (GID)
- Поставщики мебели (GID)
- Садовые центры (GID)
Пожалуйста, дайте мне знать, если я могу уточнить, как этопросто, но сложно объяснить!
AddAlias.asp
<!--#include virtual="/Admin/FranchiseAdmin/DirectorySetup/Aliases/i_Alias.asp"-->
<%
objConn.Open strConn
%>
<input type="hidden" **name="PGID" value="<% = Request("PGID") %>"** />
<select>
<%
SQLCommand = "SELECT * FROM Directories WHERE GID='" & CleanSQLText(Request("PGID")) & "'"
rsTemp.Open SQLCommand, objConn, adOpenStatic, adLockReadOnly
if rsTemp.RecordCount <> 1 then
FailSystemEvent "AddAlias: Failed to load Existing Parent"
Else
%>
<option value="<% = rsTemp("GID") %>"><% = rsTemp("DirectoryName") %></option><%
End if
rsTemp.Close
SQLCommand = "SELECT * FROM Directories WHERE ParentDirectoryGID IS NOT NULL AND GID <> '" & CleanSQLText(Request("PGID")) & "' ORDER BY DirectoryName"
rsTemp.Open SQLCommand, objConn, adOpenStatic, adLockReadOnly
While Not rsTemp.EOF
CreateSelectOption rsTemp("GID"), rsTemp("DirectoryName"), CleanSQLText(Request("PGID"))
rsTemp.MoveNext
Wend
rsTemp.Close
%>
</select>
<%
objConn.Close
%>
I rВ приведенном выше коде ParentDirectoryGID IS NOT NULL
показано следующее, где теперь я могу видеть категории верхнего уровня, но не могу сохранить из-за ошибки
Ошибка генерируется из файла включения i_Alias.asp и говорит: Произошла ошибка.GID каталога недействителен
Вот код включаемого файла: i_Alias.asp
<%
Dim SQLCommand : SQLCommand = ""
Dim SQLFilter : SQLFilter = ""
Dim objConn : Set objConn = Server.CreateObject("ADODB.Connection")
Dim rsAlias : Set rsAlias = Server.CreateObject("ADODB.RecordSet")
Dim rsTemp : Set rsTemp = Server.CreateObject("ADODB.RecordSet")
Dim strUserError : strUserError = ""
Dim strFranchiseGID
Dim strDirectoryGID
Dim objEditor
Select Case Request.Form("Action")
Case "AddNew"
'strFranchiseGID = CleanSQLData(Request.Form("strFranchiseGID"))
'If strFranchiseGID = "" then strFranchiseGID = Null
strFranchiseGID = Session("AdminFranchiseGID")
strDirectoryGID = CleanSQLData(Request.Form("PGID"))
If strDirectoryGID = "" then
strUserError = strUserError & "An error has occured. The Directory GID is invalid"
end if
if strUserError = "" then
objConn.Open strConn
SQLCommand = "SELECT TOP 1 * FROM DirectoryAliases"
rsAlias.Open SQLCommand, objConn, adOpenKeySet, adLockOptimistic
rsAlias.AddNew
rsAlias("FranchiseGID") = strFranchiseGID
rsAlias("DirectoryGID") = strDirectoryGID
rsAlias.Update
rsAlias.Close
objConn.Close
'Response.Redirect "Default.asp?PGID=" & Request("PGID")
' Redirect to the New Parent Folders
Response.Redirect "Default.asp?PGID=" & strDirectoryGID
End if
Case "Update"
if Not Session("Role_Franchise_ManageDirectory") = True then
AccessDenied
End if
objConn.Open strConn
SQLCommand = "SELECT * FROM DirectoryAliases WHERE GID = '" & CleanSQLData(Request.Form("GID")) & "'"
rsAlias.Open SQLCommand, objConn, adOpenKeySet, adLockOptimistic
if rsAlias.RecordCount <> 1 then
FailSystemEvent "EditAlias Update failed - could not load unique record"
rsAlias.Close
objConn.Close
Response.End
End if
'strFranchiseGID = CleanSQLData(Request.Form("strFranchiseGID"))
'If strFranchiseGID = "" then strFranchiseGID = Null
strFranchiseGID = Session("AdminFranchiseGID")
rsAlias("FranchiseGID") = strFranchiseGID
strDirectoryGID = CleanSQLData(Request.Form("PGID"))
If strDirectoryGID = "" then
strUserError = strUserError & "An error occured. The Directory GID is invalid"
else
rsAlias("DirectoryGID") = strDirectoryGID
End if
rsAlias.Update
rsAlias.Close
objConn.Close
if strUserError = "" then
Response.Redirect "Default.asp?PGID=" & Request("PGID")
end if
Case "Delete"
if Not Session("Role_Franchise_ManageDirectory") = True then
AccessDenied
End if
SQLCommand = "DELETE DirectoryAliases WHERE GID = '" & CleanSQLText(Request.Form("GID")) & "'"
objConn.Open strConn
objConn.Execute SQLCommand
objConn.Close
End Select
%>
Надеюсь, кто-то может помочь!