Siga o sistema normal de artigos até o fim. A adição de artigos de fundo, a recuperação de artigos e a página de detalhes do artigo são todas operadas da maneira normal.
Deve-se observar que [página] precisa excluir os espaços do meio. Por se repetir com a paginação de fundo do Script Home, são adicionados espaços.
Apenas ao adicionar um artigo, adicione uma quebra de página onde deseja que ele seja paginado: [página] (Claro, você pode usar este símbolo casualmente, como: [página], &&&, ###, @@@.. ., desde que não apareça onde o artigo deveria ser exibido normalmente.)
Usei quatro páginas, a página de entrada (index.asp), a página de conclusão de entrada (add.asp), a página de lista de artigos (view.asp) e a página de conteúdo do artigo (text.asp). página que precisa ser processada, olhando para a introdução a seguir, acho que pássaros comuns podem fazer isso. A chave é o último text.asp, todos os códigos para implementar a paginação estão aqui.
Passo 2: Venha
Faça alguns truques na parte de dados dinâmicos do corpo do artigo. A seguir está o código e a explicação:
Copie o código da seguinte maneira:'Aqui está o código para processar a paginação
' Para garantir a segurança, usamos a função de substituição para adicionar um espaço de largura total antes e depois do código de paginação
MMText=replace(rs(contents),[ page ], [ page ] )
MMfText= split(MMText,[ page ])
'Use a função ubound para obter o número de páginas a serem divididas. Observe que o valor do subscrito começa em 0
contentNum=ubound(MMfText).
page=Clng(request(page))
if page<1 then
page=1
end if
'Para parecer mais intuitivo, definimos a página inicial como 1 e adicionamos 1 ao número total de páginas
if page>contentNum+1 then
page=contentNum+1
end if
'Mude para a variável do lado a ser exibido obtido do parâmetro url acima e exiba a página em um loop
for i=page to page
response.write MMfText(i-1)
next
' Paginação da lista
se cint(contentNum)>0 then
if page<>1 then
response.write <a href='text.asp?id=&request(id)&&page=&page-1&'>[Página anterior]</a>
end if
'Lembre-se de que o valor do subscrito é de Começando em 0, começamos a paginação de 1 aqui e adicionamos 1 ao total
de p=1 para contentNum+1
se page=p then
response.write <a href='text.asp?id=&request(id)&&page= &p&'> <fonte color=red>[&p&]</font></a>
else
response.write <a href='text.asp?id=&request(id)&&page=&p&'>[&p&]</a>
end if
next
if página<>contentNum+1 então
resposta.write <a href='text.asp?id=&request(id)&&page=&page+1&'>[próxima página]</a>
fim se
fim Se
abaixo houver artigos de outros sites, você também pode consultá-los.
Páginas longas de artigos são exibidas com quebras de página. Quero usar ASP para implementar essa função, mas posso descobrir que só existe uma maneira de paginar com base no número de palavras. Mas esse método tem um bug, ou seja, se houver. é o código UBB no conteúdo do seu artigo, é muito fácil. Isso causa paginação entre [código][/código] ou simplesmente decompõe [código] em [co e de], causando erros na exibição do artigo.
As etapas a seguir tornarão isso possível.
Etapa 1:
Siga o sistema normal de artigos até o fim. A adição de artigos em segundo plano, a recuperação de artigos e as páginas de detalhes dos artigos são realizadas da maneira usual. Não há descrição aqui. Apenas ao adicionar um artigo, adicione uma quebra de página onde deseja que ele seja paginado: ||| (Claro, você pode usar este símbolo casualmente, como: [página ], &&&, ###, @@@..., desde que não apareça onde o artigo será exibido normalmente.)
Usei quatro páginas, a página de entrada (index.asp) e a página de conclusão de entrada (adicionar).asp), página de lista de artigos (view.asp), página de conteúdo de artigos (display.asp), as três primeiras são páginas que não precisam ser processadas. Olhando a imagem abaixo, acho que pássaros comuns podem. faça isso. A chave é o último A display.asp, todo o código para implementar a paginação está aqui.
Etapa 2:
Faça alguns truques na parte de dados dinâmicos do texto do artigo A seguir está o código e a explicação:
Copie o código da seguinte forma:
<%
'Aqui precisamos processar os parâmetros de paginação recebidos para exibir o conteúdo de qual página
'. As duas sentenças a seguir permitem que a variável pageNum assuma o valor da primeira página se nenhum parâmetro de página for passado: 0
If Request(page)= Then
pageNum=0
'Caso contrário, atribua à variável o valor do parâmetro na página passada , para mostrar outras
páginasElse
pageNum=Request(page)
End if
%>
<%
'Se você adicionar código UBB de execução opcional, poderá adicionar o seguinte
código'rs(NoUBB) é o campo no banco de dados sobre como desabilitar o UBB, 0 significa desabilitar, 1 significa executar
If rs(NoUBB)=0 then
'Para evitar erros ao conectar com o conteúdo do artigo, use a função Substituir para adicionar uma largura total antes e depois do código de paginação |||
'rs(content) é o campo de texto no banco de dados, adicione UBB aqui ou desative o UBB
Content=Replace((unHTML(rs(content))),|||, ||| )
Caso contrário, rs(NoUBB)=1 then
Content=Replace((ubb(rs(content))),|||, || | )
End if
%>
<%
'Aqui está a chave
' Usamos a função split para retirar o artigo em seções e armazená-los na variável
contentStr=split(Content,|||)
'De acordo com a variável a ser exibida obtida apenas do parâmetro URL, exiba a página em um loop
For i=pageNum to pageNum
%>
<!--Este será o conteúdo do texto do artigo-->
<%=ContentStr % >
< % Próximo %>
</td>
</tr>
<tr>
<td height=30 class=ClassName>Este artigo está dividido em
<%
'Na área de paginação, use ubound(ContentStr) para obter em quantas páginas o artigo está dividido. Observe que começa em 0, portanto, o número total de páginas precisa ser adicionado por 1.
Para p = 0 para ubound(ContentStr. )
'O link ainda é esta página, mas o artigo Um parâmetro de paginação deve ser adicionado após o parâmetro ID: página
%>
<a href=display.asp?ID=<%=rsquest(ID)%>&page=<%= p%> classe=><%=p+ 1%></a>
A página <% Next %>
é muito simples Se todos os comentários forem excluídos, ela possui apenas 15 linhas de código, porém ainda precisa ser processada para que possa ter as funções de destacar a página anterior, a próxima e a seguinte. página atual. Será perfeito.
Foi testado, a menos que a quebra de página apareça no artigo, todos os tipos de erros não darão errado. Claro, você pode aumentar o número de |||, por exemplo: ||||||, e será. tudo bem se seis | ou menos aparecerem no artigo, mas se houver mais de seis, haverá quebras de página.