Zunächst möchte ich V37 Banzhu für die Hilfe bei mir danken. Diese Lösung löst das Problem der Anzeige "vorheriger Artikel nächster Artikel" und verwandte Artikel und veröffentlichen es für alle, die sie teilen können.
Ich habe einen Beitrag gesehen, den ich ID+1 und ID-1 verwendet habe, um den "vorherigen Artikel und den nächsten Artikel" zu beurteilen. Während der Verwendung fand ich ein Problem: Beim Löschen eines Artikels in der Datenbank ist die ID diskontinuierlich. Wenn ID+1 und ID-1 verwendet werden, um zu beurteilen, wird der Datensatz nicht gefunden. In diesem Programm wird die ID des nächsten Artikels gefunden, indem der erste Datensatz größer als die aktuelle ID abfragt wird, und der erste Datensatz, der kleiner als die aktuelle ID ist, um die ID des vorherigen Artikels zu finden. Auf diese Weise kann sie auch dann normal angezeigt werden, wenn die ID nicht kontinuierlich ist.
Fügen Sie für die Anzeige verwandter Artikel in der Datentabelle ein Board -Feld hinzu, um verschiedene Artikelspalten zu unterscheiden. Fügen Sie jedes Mal, wenn Sie einen neuen Artikel hinzufügen, eine Board -Nummer hinzu. Fragen Sie bei der Anzeige eines Artikels die Datenbank gemäß dem Boardid, um die entsprechenden Artikel anzuzeigen.
Die Felder in den Artikeln der Datentabelle umfassen ID, Boardid, Titel, Inhalt, Autor, AddTime
Die Codekopie lautet wie folgt:
<!-Programmstart->
'Definieren Sie eine Thenext -Funktion, um die ID des nächsten Artikels zu finden. Wenn der aktuelle Datensatz bereits der letzte Datensatz ist, ist der Ausgangstext "no"
<%
Funktionsthenext
newrs = server.createObject ("adodb.recordset")
sql = "selectTop1*fromarticleswhereId>" & a1 & "orderById"
setNewrs = conn.execute (SQL)
ifnewrs.eofthen
response.write ("nicht")
anders
a2 = newrs ("id")
response.write ("<Ahref = 'view.asp? id =" & a2 & "'> Nächster Artikel </a>")
Endif
Endfunktion
%>
Definieren Sie eine Funktion der Theehead, um die ID des nächsten Artikels zu finden. Wenn der aktuelle Datensatz bereits der erste Datensatz ist, ist der Ausgangstext "Nein"
<%
Funktionsthead
Headrs = Server.CreateObject ("adodb.recordset")
SQL = "selectTop1*fromarticleswhereId <" & a1 & "OrderByIdDesc"
setheadrs = conn.execute (SQL)
ifheadrs.eofthen
response.write ("nicht")
anders
A0 = Headrs ("ID")
response.write ("<Ahref = 'view.asp? id =" & a0 & "'> Vorheriger Artikel </a>")
Endif
Endfunktion
%>
'Datenbankverbindungsdatei
<!-#includeFile = "conn.asp"->
»Holen Sie sich die bestandene ID, um den Titelautor und den Inhalt des Artikels anzuzeigen
<%
id = request ("id")
SQL = "SELECT*FromarticleswhereId =" & id
setrs = conn.execute (SQL)
%>
<%Board = Rs ("BoardID")%>
<title> article System-<%= RS ("Titel")%> </title> <bylleftmargin = "0" topmargin = "0">
<!-#includeFile = "top.asp"->
<%
Dowhilenotrs.eof
%>
<tablewidth = "773" border = "0" cellpacing = "0" cellpadding = "0" align = "center">
<tr>
<tdwidth = "576" align = "links">
<tablewidth = "557" border = "0" cellpacing = "5" cellpadding = "4" align = "links">