Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/03/2003, 02:07
Crispp
 
Fecha de Ingreso: febrero-2002
Ubicación: Guadalajara
Mensajes: 103
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias Cluster.

Utilizo oracle, pq para rellenar las tablas utilizo java.
En resumen, mi buscador hace lo siguiente:
- Lee lo que se ha de buscar de un cuadro de texto, (por defecto es OR, admite + para los AND, - para los AND NOT).
- Mete cada lista de palabras (genera 3 listas, la de oes, yes y noes) en un array.
- Busca las páginas (nºs) donde se encuentra esa palabra, (aqui tarda bastante, pq para sacar las páginas, tiene que "desmontar" un CLOB).
- crea la sentencia SQL con los datos obtenidos:
para el and not ->
$condicionFinal="id_pagina not in ( $cNo)"; (donde $cNo es una cadena formada por los identificadores de pagina separados por comas)
para el AND
$condicionFinal =$condicionFinal ."AND id_pagina=$MatrizT[$i]", para cada y
y para los OR
$condicionFinal=$condicionFinal ."OR id_pagina=" para cada o.

El caso es que los busca todos, aunque luego solo muestre los 10 primeros o del 81 al 90. Probé con el rownum pero eso solo me vale para los primeros o los últimos, no para los demás.

Supongo que es fácil de mejorar, acepto cualquier sugerencia

Cristina


select url from paginas where id_pagina in (todos las paginas obtenidas de la matriz de la o) and id_pagina= .. and id_pagina=...

Última edición por Crispp; 18/03/2003 a las 03:06