Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2004, 03:49
flautel
 
Fecha de Ingreso: abril-2004
Mensajes: 21
Antigüedad: 20 años, 1 mes
Puntos: 0
noticias duplicadas al hacer una busqueda en Sql y Asp

Hola:

Tengo dos paginas en asp en una pongo la palabra a buscar y selecciono mediante checkbox las secciones donde quiero que se busque y sino marco ninguna pues se busca por todas.

Bues bién cuando pongo algo a buscar ej dire straits y pongo sociedad pues me deberia de mostrar todas las noticias de sociedad o si pongo ong y no marco ninguna opción pues me muestre todas las noticias que contengan la palabra ong.

El caso es que las busca pero lo hace mal, me dice por ejemplo que ha encontrado 12 noticias, pero realmente nuevas son la 1ª 3ª 5ª 7ª.........la 2ª 4ª 6ª 8ª.........realmente son copias de la primera

Aquí os pongo el codigo, primero los checkbox y despues los parametros de busqueda de los select de SQL


<input type="checkbox" name="dpto" value=1>
Nacional -
<input type="checkbox" name="dpto" value=2>
Internacional -
<input type="checkbox" name="dpto" value=4>
Economia -
<input type="checkbox" name="dpto" value=3>
Sucesos -
<input type="checkbox" name="dpto" value=5>
Sociedad - <br>
<input type="submit" name="Buscar2" value="Buscar">


y aquí teneis la página que ya me muestra los resultados(solo pongo lo que creo que creo que falla.

<%
t=request("t1") (aquí le paso la palabra que he puesto para buscar)
dpto = request("dpto") (aquí le paso el numero de checkbox seleccionados)

if dpto <> "" then (si hay algún checkbox marcado busca por esas secciones)

sql="select * from noticia where dpto in (" & dpto & ") AND
titulo_entradilla like '%"&t&"%' order by posi "
else

sql="select * from noticia where dpto=1 and titulo_entradilla like '%"&t&"%' or dpto=2 and titulo_entradilla like '%"&t&"%' or dpto=3 and titulo_entradilla like '%"&t&"%' or dpto=4 and titulo_entradilla like '%"&t&"%' or dpto=5 and titulo_entradilla like '%"&t&"%' order by posi "
end if

rs.open sql, conn,1,3
rs2.open sql, conn,1,3

rs.pagesize = 10
rs2.pagesize = 10
intpagecount = rs.pagecount


select case request("action")
case "<<"
intpage = 1
case "<"
intpage = request("intpage")-1
if intpage < 1 then intpage = 1
case ">"
intpage = request("intpage")+1
if intpage > intpagecount then intpage = intpagecount
Case ">>"
intpage = intpagecount
case else
intpage = 1
end select
%>
<form name="MovePage" action="buscador2c.asp" method="post">
<input type="hidden" name="intpage" value="<%=intpage%>">
<input type="hidden" name="t1" value="<%=t%>">
<input type="submit" name="action" value="&lt;&lt;">
<input type="submit" name="action" value="&lt;">
<input type="submit" name="action" value="&gt;">
<input type="submit" name="action" value="&gt;&gt;">
<input type="hidden" name="secc" value="<%response.write(request("secc"))%>">
Página: <%=intpage & " de " & intpagecount%>
</form>

if not rs.eof then
rs.absolutepage = intpage
for intrecord = 1 to rs.pagesize
if rs.eof then exit for

if not rs2.eof then
rs2.absolutepage = intpage
if rs2.eof then exit for
%>

.................................................
<%
rs.close
rs2.close
set rs=nothing
set rs2=nothing
conn.close
conn2.close
set conn=nothing
set conn2=nothing
%>

gracias de antemano por vuestra ayuda [email protected]