<%@ Language=VBScript %>
<% Option Explicit
'=================================
' search.asp
'
' 記事の検索と結果表示
'=================================
Dim keyword, condition, act, page, max
Dim Sql, kwd

' Form提出データのデコード
keyword = Request("keyword")
act = Request("act")
page = Request("page")
max = Request("max")

If page = "" Then
page = 1
ElseIf page < 1 Then
page = 1
End If

If max = "" Then max = MAX_REC_COUNT

'Integer型に変換
page = CInt(page)
max = CInt(max)

'ダブルクォートを特殊文字に変換
keyword = Replace(keyword,"""","&quot;")

Sub ShowResult(kw, abpage, recmax)
On Error Resume next
Dim objRecset, Sql, kwd

'クォート関係処理
kwd = Replace(kw,"&quot;","""")
kwd = Replace(kwd,"'","''")
Sql = "SELECT mess_id, sender, subject, status, update_date " & _
"FROM tbl_article " & _
"WHERE status = 1 AND CONTAINS(*,'" & kwd & "')"

Set objRecset = objDBCon.Execute(Sql)
If objRecset.RecordCount < 1 Then
Response.Write "<FONT size=3 color=""#ff1493"">" & _
"<STRONG>記事はありません</STRONG></FONT>"
objRecset.Close
set objRecset = nothing
Exit Sub
End If

objRecset.PageSize = recmax
If objRecset.PageCount < abpage Then
abpage = objRecset.PageCount
End If
objRecset.AbsolutePage = abpage
PrintHeader abpage, objRecset.PageCount
Response.Write "<BR><BR>" & VbCrLf

Dim HrefStr, lc
lc = 1
Do Until objRecset.EOF Or lc > recmax
If objRecset("status") = 1 Then
HrefStr = " <A href=""article.asp?mess_id=" & _
objRecset("mess_id") & _
""">"
Response.Write objRecset("mess_id")
Response.Write HrefStr & objRecset("subject") & "</A> - "
Response.Write objRecset("sender") & " - "
Response.Write objRecset("update_date") & "<BR>" & VbCrLf
Else
Response.Write "この記事は非公開です" & VbCrLf
End If
objRecset.MoveNext
lc = lc + 1
Loop
PrintFooter abpage, objRecset.PageCount, recmax, keyword
objRecset.Close
set objRecset = nothing
End Sub

'-------------------------------
'ヘッダ
'-------------------------------
Sub PrintHeader(abpage, pgcount)
Response.Write "<FONT size=2 color=""#ff1493"">" & VbCrLf
Response.Write "<STRONG>PAGE:" & abpage & "/" & pgcount
Response.Write "</STRONG></FONT>" & VbCrLf
Response.Write "<FONT size=2 color=""#333333"">"
End Sub

'-------------------------------
'フッタ
'-------------------------------
Sub PrintFooter(abpage, pgcount, recmax, kw)
Response.Write "</FONT>"
Response.Write "<HR noshade color=""#333333"" size=2 align=""left"">" & VbCrLF
Response.Write "<TABLE>" & VbCrLf
Response.Write "<TR>"
If abpage > 1 Then
Response.Write "<TH valign=""top""><A href=""search.asp?page=" & abpage - 1 & _
"&max=" & recmax & "&keyword=" & Server.URLEncode(kw) & _
"&act=START"">前のページ</A>"
End If
If pgcount > 1 And pgcount > abpage then
Response.Write "<TH valign=""top""><A href=""search.asp?page=" & abpage + 1 & _
"&max=" & recmax & "&keyword=" & Server.URLEncode(kw) & _
"&act=START"">次のページ</A>"
End If
Response.Write "<FORM action=""search.asp"" method=""post"">" & VbCrLf
Response.Write "<INPUT type=""hidden"" name=""max"" value=" & recmax & ">"
Response.Write "<INPUT type=""hidden"" name=""keyword"" value=""" & kw & """>"
Response.Write "<INPUT type=""hidden"" name=""act"" value=""START"">"
Response.Write "<TH valign=""top""><INPUT type=""text"" name=""page"" size=3>"
Response.Write "<TH valign=""top""><INPUT type=""submit"" value=""JUMP"" id=1 name=1>"
Response.Write "</FORM>"
Response.Write "</TR></TABLE></STRONG></FONT>"
End Sub

%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis">
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>

<BODY bgColor="#fff8dc">
<FONT size=4 color="#333333"><STRONG>記事の検索</STRONG></FONT>
<HR noshade color="#ff1493" width=95 size=5 align=left>
<FONT size=2 color="#333333">
<A href="list.asp">記事の一覧</A>
<HR noshade color="#333333" size=2 align="left">
<FORM method="post" action="search.asp">
<INPUT type="text" name="keyword" value="<%= keyword%>" size=50>
<INPUT type="submit" name="act" value="START">
</FORM>
</FONT>
<HR noshade color="#333333" size=2 align="left">
<%
If act = "START" Then
ShowResult keyword, page, max
End If
%>

</BODY>
</HTML>
<!-- #include file="mod_const.inc"-->