悠悠楠杉
完美的ASP分页脚本代码示例
完美的ASP分页脚本代码示例
1. 准备数据
假设我们有一个数据库表 articles
,它包含以下字段:id
, title
, keywords
, description
, content
。
2. 创建ASP页面结构
首先,创建一个ASP文件,比如叫 paginator.asp
。
3. 代码实现
```asp
<%
Dim conn, rs, pageSize, pageNum, totalPages, startRecord
' 数据库连接信息(请根据实际情况替换)
Dim dbPath, dbUser, dbPassword, dbName
dbPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabasepath.mdb"
dbUser = "admin"
dbPassword = "yourpassword"
dbName = "yourdatabase_name"
' 连接数据库
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=" & dbName & ";" & "UserID=" & dbUser & ";" & "Password=" & dbPassword & ";" & dbPath
' 分页参数设置(每页显示10条记录)
pageSize = 10
pageNum = Request.QueryString("page") ' 获取当前页码,默认为1
If IsNull(pageNum) Or pageNum = "" Then pageNum = 1
totalPages = Ceil(RS("count") / pageSize) ' 计算总页数,这里假设有一个RS("count")查询来获取总记录数,实际应用中需要按实际情况替换为SQL查询的Count(*)结果。
startRecord = (pageNum - 1) * pageSize + 1 ' 计算开始记录的索引
' SQL查询语句,实际使用时请替换为具体的SQL查询语句和表名、字段名。这里为了简化示例,使用占位符。
Dim sqlQuery
sqlQuery = "SELECT id, title, keywords, description, content FROM articles ORDER BY id DESC LIMIT ?, ?" ' SQL分页语句(注意:实际使用时请确保SQL注入安全)
' 执行SQL查询,并检查是否成功获取到数据。
Set rs = conn.Execute(sqlQuery, startRecord, pageSize)
If Not rs.EOF Then
Response.Write("
文章列表 - 页码 " & pageNum & "
") ' 显示标题和当前页码
Response.Write("
- ") ' 开始文章列表的Markdown格式显示
- ") ' 开始每个文章的Markdown格式显示
Response.Write("## " & rs("title")) ' 文章标题
Response.Write("
") ' 换行(Markdown格式)
Response.Write("### 关键词: " & rs("keywords")) ' 关键词显示(Markdown格式)
Response.Write("
") ' 换行(Markdown格式)
Response.Write("#### 描述: " & rs("description")) ' 描述显示(Markdown格式)
Response.Write("
") ' 换行(Markdown格式)
Response.Write("##### 正文: " & Left(rs("content"), 500)) ' 正文显示(Markdown格式),仅显示前500个字符作为示例。实际应用中可以按需调整显示长度。
Response.Write("
Do While Not rs.EOF
Response.Write("
") ' 结束每个文章的Markdown格式显示
rs.MoveNext ' 移动到下一条记录
Loop
Response.Write("