Сначала построить базу данных доступа.
| Ниже приведено эталонное содержание: Текст URL (индекс: там (без дублирования)) Заголовок текст Описание текста Краткое текст Ключевые слова текст (индекс: там (без дублирования)) |
Файл программы doquery.asp, код:
| Ниже приведено эталонное содержание: <html> <head> <title> Простая поисковая система </title> </head> <Bodybgcolor =#ffffffffmarginwidth = 0marginheight = 0 Leftmargin = 0TopMargin = 0> <Formmethod = postaction = doquery.asp? Запрос: <inputType = textName = QueryString> <br> <InputType = OpportValue = отправить> </Form> </Center> <% томакт Act = запрос (act) if (act = search), тогда QueryString = request.form (QueryString) QueryWords = split (QueryString) Strindent = 'Если поиск пуст, верните IfqueryString = then Response.redirect (default.asp) Эндиф Session.Timeout = 2 Ifisobject (session (sitesearch_conn) тогда) тогда SetConn = session (sitesearch_conn) Еще SetConn = server.createObject (adodb.connection) conn.opendriver = {microsoftaccessdriver (*. Mdb)}; SetSession (sitesearch_conn) = conn Эндиф 'Запрос SQL = SELECT*из [urlindex] где 'Поиск поля описания sql = sql & ([description] like '%& querywords (0) и%' First Fori = lbound (Querywords)+1toubound (QueryWords) Ifquerywords (i) <> anducase (QueryWords (i)) <> OrangeWords (i)) Ifucase (querywords (i-1)) = ортен SQL = SQL & OR [DESTIC] LIKE '%& QueryWords (i) и%' Еще SQL = SQL & и [Description] Like '%& QueryWords (i) и%' Эндиф Эндиф Следующий 'Поиск поля ключевых слов sql = sql &) или ([ключевые слова] как '%& QueryWords (0) и%' Fori = lbound (Querywords)+1toubound (QueryWords) Ifquerywords (i) <> anducase (QueryWords (i)) <> OrangeWords (i)) Ifucase (querywords (i-1)) = ортен Sql = sql & или [ключевые слова], как '%& Querywords (i) и%' Еще Sql = sql & and [ключевые слова] как '%& QueryWords (i) и%' Эндиф Эндиф Следующий 'Поиск поля названия SQL = SQL &) или ([TIPLE] Like '%& QueryWords (0) и%' Fori = lbound (Querywords)+1toubound (QueryWords) Ifquerywords (i) <> anducase (QueryWords (i)) <> OrangeWords (i)) Ifucase (querywords (i-1)) = ортен SQL = SQL & или [TIPLE] Like '%& QueryWords (i) и%' Еще SQL = SQL & и [TIPLE] Like '%& QueryWords (i) и%' Эндиф Эндиф Следующий 'Поисковое поле для поиска sql = sql &) или ([summary] like '%& querywords (0) и%' Fori = lbound (Querywords)+1toubound (QueryWords) Ifquerywords (i) <> anducase (QueryWords (i)) <> OrangeWords (i)) Ifucase (querywords (i-1)) = ортен SQL = SQL & OR [SURNARY] Like '%& QueryWords (i) и%' Еще SQL = SQL & и [SURNARY] Like '%& QueryWords (i) и%' Эндиф Эндиф Следующий SQL = SQL &) ' Setrs = server.createObject (adodb.oldset) Rs.opensql, Conn, 3,3 Response.write <br> <b> Что вы искали: </b> & querystring Response.write <br> <b> Поиск ключевые слова: </b> Fori = lbound (Querywords) Toubnsnd (QueryWords) Response.write <br> & strindent &: и QueryWords (i) Следующий 'PrintthesqlString Response.write <br> <b> sql оператор: </b> & sql 'Printtheresults Response.write <br> <b> Результат: </b> <ul> OnerrerRersUmenext Rs.movefied Dowhilenotrs.eof Response.write <br> & <ahref = 'openpage.asp? Response.writers.fields (описание) и <br> Response.write <fontsize = 2> url: & rs.fields (url) и </font> Response.write <hrsize = 1width = 200align = слева> Rs.movenext Петля Response.write </ul> эндиф %> </Body> </Html> |