18/03/2003, 02:07
|
| | Fecha de Ingreso: febrero-2002 Ubicación: Guadalajara
Mensajes: 103
Antigüedad: 22 años, 9 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 |