Tout d'abord, je tiens à remercier V37 Banzhu de m'avoir aidé. Cette solution résout le problème de l'affichage de «l'article précédent suivant» et d'articles connexes, et de le publier pour que tout le monde puisse partager.
J'ai vu un article que j'ai utilisé ID + 1 et ID-1 pour juger de "l'article précédent et de l'article suivant". Pendant l'utilisation, j'ai trouvé un problème: lors de la suppression d'un article dans la base de données, l'ID sera discontinu. Si ID + 1 et ID-1 sont utilisés pour juger, le dossier ne sera pas trouvé. Dans ce programme, l'ID de l'article suivant est trouvé en interrogeant le premier enregistrement plus grand que l'ID actuel, et le premier enregistrement plus petit que l'ID actuel pour trouver l'ID de l'article précédent. De cette façon, même si l'ID n'est pas continu, il peut être affiché normalement.
Quant à l'affichage d'articles connexes, ajoutez un champ BoardId dans la table de données pour distinguer différentes colonnes d'articles. Ajoutez un numéro BoardId chaque fois que vous ajoutez un nouvel article. Lorsque vous affichez un article, interrogez la base de données selon le BoardID pour afficher les articles pertinents.
Les champs des articles de la table de données incluent ID, BoardId, titre, contenu, auteur, Addtime
La copie de code est la suivante:
<! - Programme Start ->
«Définissez une fonction TheNext pour trouver l'ID de l'article suivant. Si l'enregistrement actuel est déjà le dernier enregistrement, le texte de sortie "non" est
<%
FunctionTheNext
newrs = server.createObject ("adodb.recordSet")
sql = "selecttop1 * fromarticleswhered>" & a1 & "orderbyid"
setNewrs = conn.execcute (SQL)
ifnewrs.eofthen
réponse.write ("pas")
autre
a2 = newrs ("id")
réponse.write ("<ahref = 'View.asp? Id =" & a2 & "'> Article suivant </a>")
endire
finition de fin
%>
«Définissez une fonction de tête pour trouver l'ID de l'article suivant. Si l'enregistrement actuel est déjà le premier enregistrement, le texte de sortie "non" est
<%
Fonctionnement de la tête
headrs = server.createObject ("adodb.recordSet")
sql = "selecttop1 * fromarticleswhered <" & a1 & "orderbyiddesc"
Setheadrs = conn.excute (SQL)
ifhead.
réponse.write ("pas")
autre
a0 = headrs ("id")
Response.Write ("<Ahref = 'View.asp? Id =" & a0 & "'> Article précédent </a>")
endire
finition de fin
%>
«Fichier de connexion de la base de données
<! - # includeFile = "conn.asp" ->
'Obtenez l'ID passé pour afficher l'auteur de titre et le contenu de l'article
<%
id = request ("id")
sql = "select * fromArticleswhereId =" & id
setrs = conn.excute (sql)
%>
<% boardID = RS ("BoardId")%>
<Title> Système d'article - <% = RS ("Title")%> </Title> <BodyLeftmargin = "0" Topmargin = "0">
<! - # includeFile = "top.asp" ->
<%
Dowhilenotrs.eof
%>
<TableWidth = "773" border = "0" Cellpacing = "0" CellPadding = "0" Align = "Center">
<tr>
<tdWidth = "576" align = "Left">
<TableWidth = "557" border = "0" Cellpacing = "5" CellPadding = "4" Align = "Left">