ciao a tutti,
ho un motore di ricerca in ASP+MYSQL e il problema è questo:
dopo effettuata la ricerca e per esempio trovate 3 pagine con 25 documenti che appunto soddisfano la ricerca, quando si passa alla pagina 2 o 3 si perde la query e dato che al momento, per prova, ho 70 documenti e impostato il numero di doc per pagina a 10 le pagine passano da 3 a 7 e dice che ha trovato 70 documenti...

per prova ho fatto stampare la select e il risultato è questo appena effettuata la ricerca su la parola deliberazione:

codice:
SELECT COUNT(*) AS temp FROM searchcom WHERE parola_chiave LIKE '%deliberazione%' or massime LIKE '%deliberazione%' Select * From searchcom Where ( parola_chiave like '%deliberazione% 'Or massime like '%deliberazione%' ) LIMIT 0, 1
e fino a qui tutto ok...

quando clicco sulla pagina seguente stampa questo:

codice:
SELECT COUNT(*) AS temp FROM searchcom WHERE  parola_chiave LIKE '%%'  or massime LIKE '%%' Select * From searchcom Where (parola_chiave like '%%' Or massime like '%%' ) LIMIT 1, 1
appunto la select è vuota perciò il risultato è che si perdono le 3 pagine perchè tira fuori tutto quello che c'è nel DB e diventano 7

questa è la select per il conteggio:


codice:
sql1 = "SELECT COUNT(*) AS temp FROM searchcom WHERE  parola_chiave LIKE '%" & request.form("search") & "%'  or massime LIKE '%" & request.form("search") & "%' " set rs = cn.execute(sql1) 
Dim quanti, a, b 
quanti = CInt(rs("temp")) 
b = 1 
a = (pag - 1) * b 
rs.Close
e questa è la select per la ricerca:


codice:
if len(search) > 0 then 'If quanti > 0 Then 
Dim sql 
sql = "Select * From searchcom Where" 
If request.form("criterio") <> "ext" Then 
ArrSearch = Split(search)
 x = 0 
for each Word In ArrSearch 
sql = sql & " ( parola_chiave like '%" & request.form("word") & "%' Or massime like '%" & request.form("word") & "%' ) "
 If Not x = UBound(ArrSearch) Then sql = sql & " or" ' 
 
x = x + 1 
Next
 Else 
sql = sql & " ( parola_chiave like '%" & request.form("search") & "%'Or massime like '%" & request.form("search") & "%' ) " 
End If 
sql = sql & " LIMIT " & a & ", " & b
 rs.CursorType = adOpenDynamic
rs.Open sql, cn
ho fatto molte prove, anche cambiare "request.form("word")" in "request.querystring("word")" ma niente di fatto...
grazie a tutti per l' aiuto che potrete darmi a capire dov'è il problema...
Rob
ps se serve tutto il codice lo posto....