Buonasera forum, poco esperto sono alle prese con una pagina asp che è un motore di ricerca del sito.
Nel tentativo di migliorarla, sono diversi le cose che ho in mente, ho aggiunto una colonna per creare un filtro e messo il codice corrispondente <%=rsSearch("categoria_notizia")%> che mi estrae solo un valore, il primo.
Certo di poter contare sul vostro supporto posto il codice della pagina risultati.asp, l'altra cerca.asp contiene solo il form.
Chissà se sono stato chiaro, grazie.
<%Dim srch,currentpage,total,RecordsPerPage,pages,rs1,rs2,u
currentpage = Request.QueryString("currentpage")
IF currentpage ="" OR currentpage < 1 Then
currentpage = 1
END IF
srch = Request.QueryString("srch")
RecordsPerPage = 10
%>
<%
Dim Connect, dbconn
Connect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/news.mdb")
Set dbconn=Server.CreateObject("ADODB.Connection")
dbconn.open Connect
%>
<%
Dim sqlcerca,rsSearch
sqlcerca = "SELECT * FROM prodotti WHERE notizia_breve Like '%" & srch & "%' ORDER BY ID DESC"
Set rsSearch = Server.CreateObject("ADODB.Recordset")
rsSearch.Open sqlcerca, dbconn, 3, 3
IF srch = "" Then
total = "0"
ELSE
total = rsSearch.RecordCount
END IF
%>
<table>
<tr>
<td>filtra i risultati<%=rsSearch("categoria_notizia")%><br></td>
<td>
<table>
<tr>
<td colspan="7">Hai cercato :<b> <i>"<%=srch%>" </i> </b>. La ricerca ha prodotto<b> <%=total%>
</b>risultati<br> </font></td>
</tr>
</table>
</div>
<%
pages = int(total/RecordsPerPage)
IF (total MOD RecordsPerPage) <> "0" Then
pages = pages + 1
END IF
rs2 = int(currentpage*RecordsPerPage)
rs1 = int(rs2-RecordsPerPage+1)
%>
<table width="800">
<tr>
<td>Risultati <%=rs1%> di <%IF int(currentpage) = int(pages) Then%><%=total%><%ELSE%><%=rs2%> <%END IF%></td>
<td>
<%IF currentpage = "1" Then%>INDIETRO<%ELSE%><a href="?srch=<%=srch%>¤tpage=<%=currentpage-1%>">INDIETRO</a><%END IF%> | Pagina <%=currentpage%> di <%=pages%> | <%IF int(currentpage) < int(pages) Then%><a href="?srch=<%=srch%>¤tpage=<%=currentpage+1%>">AVANTI</a><%ELSE%>AVANTI<%END IF%>
</td>
</tr>
</table>
<form name="config" action="cerca_prodotto_risultati.asp" method="get">
<table>
<tr>
<td>Cerca nel Sito<input type="text" name="srch" value="<%=srch%>" size="40"> <input type="submit" value="Inizia la ricerca"></td>
</tr>
</table>
</form>
<table>
<tr>
<td>Hai cercato : <i>"<%=srch%>" </i></td>
<td><b>Totale dei risultati trovati: <%=total%> </b>
</td>
</tr>
</table>
<br><%IF srch = "" Then%>
<table>
<tr>
<td><center><b>Non hai inserito alcuna parola chiave.</b></center></td>
</tr>
<%ELSE%>
<%
rsSearch.PageSize = RecordsPerPage
If NOT rsSearch.EOF Then rsSearch.AbsolutePage = currentpage
If rsSearch.EOF Then
%>
<tr>
<td><center><b>Siamo spiacenti, non siamo in grado di trovare i risultati di ricerca per qualsiasi <i>"<%=srch%>"</i>.</b></center></td>
</tr>
</table>
<%Else
For u=1 to RecordsPerPage
IF rsSearch.EOF Then Exit For%>
<table>
<tr>
<td><br><%=rsSearch("titolo_news")%><br><%=Left(descrizione,255)%></td>
</tr>
<% rsSearch.movenext
Next%>
</table>
</table>
</td>
</tr>
</table>
</div>
<%END IF%>
<%END IF%>