Ciao a tutti, non sono un grande esperto di ASP, quindi la mia domanda potrebbe essere banale!
Devo inserire un semplice motore di ricerca in un sito ma ho un piccolo problema.
ho un database con quattro campi:
- id (contatore)
- percorso (testo) che contiene l'indirizzo della pagina
- nome (testo) che contiene il nome della pagina
- descrizione (memo) che contiene una breve descrizione del contenuto della pagina
dopo aver compilato il form con il termine da cercare la pagina asp che effettua la ricerca è la seguente:
codice:
<%
Dim prechiave
Dim tipo
prechiave=request.querystring("form_chiave")
tipo=request.querystring("tipo")
if tipo="tutte" then
change="%'and descrizione like'%"
chiave=Replace(prechiave," ", change)
else
chiave=prechiave
end if
Dim iPageSize 'Numero di record da visualizzare
Dim iPageCount 'Numero di pagine totali che otteniamo dalla query
Dim iPageCurrent 'Pagina corrente
Dim strOrderBy 'Parametro in base a cui definire l'ordinamento
Dim strSQL 'Comando da eseguire
Dim RS 'Il solito amico Recordset
Dim iRecordsShown 'Variabile usata per definire i record mostrati
Dim miastringa 'Variabile utilizzata per la visualizzazione dei risultati
Dim nuovastringa 'Variabile utilizzata per la visualizzazione dei risultati
iPageSize = 5 ' Imposto il numero di record visualizzati
If Request.QueryString("page") = "" Then
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
If Request.QueryString("order") = "" Then
strOrderBy = "id"
Else
strOrderBy = Request.QueryString("order")
End If
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=percorso_database"
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM motore where descrizione like '%"&chiave&"%' ORDER BY " & strOrderBy & " DESC;"
RS.Open sql, conn, adOpenKeyset
RS.PageSize = iPageSize
RS.CacheSize = iPageSize
iPageCount = RS.PageCount
Dim totale
totale = rs.recordcount
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1
If iPageCount = 0 Then
response.redirect("search_again.htm")
Else
RS.AbsolutePage = iPageCurrent
%>
<html lang="it">
<head>
<title>Risultati della ricerca: <% = chiave %>.</title>
</head>
<body>
<H4 title="Risultati della ricerca">Risultati della ricerca: <% = chiave %></H4>
La ricerca ha prodotto <% = totale %> risultati</font></p>
<%
iRecordsShown = 0
Do While iRecordsShown < iPageSize And Not RS.EOF
%>
"><%= rs("nome")%>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<%
miastringa = RS("descrizione")
nuovastringa = Mid( miastringa, 1, 100)
response.write(nuovastringa)&"..."
%>
<%
iRecordsShown = iRecordsShown + 1
RS.MoveNext
Loop
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn= Nothing
%>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pagina <%= iPageCurrent%> di <%= iPageCount%></font>
<%
If iPageCurrent <> 1 Then
%>
indietro
<% end if %>
<%If iPageCurrent < iPageCount Then %>
avanti >
<% end if %>
</body>
</html>
il problema è che il campo "nome" del database l'ho aggiunto io, e non riesco a visualizzarne il contenuto con questa riga di codice.
Come risolvo!
Grazie a tutti i suggerimenti!!!