PDA

Ver la versión completa : Busqueda avanzada con MySQL



smaug_
04-07-2006, 13:09
Bueno, me han mandado hacer una pagina de busqueda para una base de datos.
La pagina sera jsp, que es en lo que estamos programando.
Pero me han dicho que haga la busqueda mediante la base de datos. Investigando por ahi he encontrado el siguiente articulo (http://www.mysql-hispano.org/page.php?id=15&pag=1) .
Viene mas o menos exlpicada la busqueda de texto, pero no se si termina de servirme, ya que aun estoy haciendo pruebas. Lo que quiero hacer es un tipo de busqueda como la de este foro por ejemplo, a ver si me podeis echar una mano con algun tutorial o alguna idea.
Gracias ^^

PD: Me corre un poquillo de prisa, os ruego que si teneis un rato le echeis un vistazo. gracias de nuevo

j8k6f4v9j
04-07-2006, 18:30
No conozco jsp xD, pero las búsquedas en mysql no te podrán devolver otra cosa distinta a los campos que contienen las tuplas.

Lo que tienes que ver es qué funciones implementa jsp para rescatar esa información, almacenarla en variables, arrays o hashes y para imprimirla o visualizarla. Un poco una mezcla de jsp, html y mysql.

Salu2

smaug_
04-07-2006, 18:56
Con un ejemplo en php tambien me conformaria, despues podria pasarlo sin problema a jsp. El problema esta a la hora de rescatar los datos de la base de datos. Pero ya esta casi solucionado, el problema esta que me piden que haga una sola pagina o funcion para todas las busquedas, de usuarios, departamentos, etc. Cada una de esta esta en diferentes tablas, asi que a ver como saco yo la tabla en la que tiene que buscar, dependiendo de donde venga la peticion de busqueda...

De momento solo lo estoy haciendo para usuarios ^^U y parece que va bien :P

j8k6f4v9j
04-07-2006, 19:14
Pues en PHP, y con postgresql, son funciones como pg_connect, pg_query, pg_fetch_all, pg_fetch_single

Y luego lo que creo que es en lo que tienes problema.

Por ejemplo pg_fetch_all te devuelve la búsqueda en forma de un array, que te guarda en una variable.
Lo que tienes que hacer para imprimir los datos de ese array es un foreach.

En PHP será algo como esto.

<?php
$conn = pg_pconnect("dbname=tu_base_de_datos");
$busqueda = pg_query($conn, "SELECT * FROM la_tabla_que_sea");
$array_con_el_resultado = pg_fetch_all($busqueda);
?>

Salu2

A partir de ese momento tienes los datos de la consulta en $array_con_el_resultado.

Supongamos que se trata de un array simple, y que éste contiene:
lechuga
melon
tomates
uvas

Entondes bastará con
foreach ($array_con_el_resultado as $dato) {
echo $dato;
}

que te daría como resultado:

lechugamelontomatesuvas

Salu2

smaug_
04-07-2006, 19:21
Gracias j8, pero no es lo que yo queria. Esa parte esta mas que superada. El caso que he conseguido lo que yo queria, ahora hace falta que sea lo que el jefe queria ^^U.

j8k6f4v9j
04-07-2006, 19:23
Pues no, no me he enterado del problema entonces.

Salu2

j8k6f4v9j
04-07-2006, 19:26
ah, vale, perdona, no había leído bien, acabo de ver


asi que a ver como saco yo la tabla en la que tiene que buscar, dependiendo de donde venga la peticion de busqueda...


Supongo que lo que necesitas entonces es orientar a objetos, preparando una clase búsqueda que acepte como parámetro el origen de la petición.

Salu2

Lory
18-07-2006, 00:37
Bueno una solucion puede ser utilizar los llamados querys, son algo enrredados pero te sacan del apuro.

Atravez de ellos selecciona la informacion que deseas mostrar en la pagina lo pasas a jsp, prueba aver si te funsiona.

smaug_
18-07-2006, 01:38
Lory... no tienes mucha idea de esto verdad?