Foros del Web » Programando para Internet » PHP »

Buscador para mi base de datos

Estas en el tema de Buscador para mi base de datos en el foro de PHP en Foros del Web. Que tal.. me da gusto saludarles de nuevo... y ahora les presentare mi nueva duda.. ojala y obtenga ayuda... Estoy desarrollando un script en php ...
  #1 (permalink)  
Antiguo 02/08/2008, 01:27
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 20 años, 3 meses
Puntos: 2
Buscador para mi base de datos

Que tal.. me da gusto saludarles de nuevo... y ahora les presentare mi nueva duda.. ojala y obtenga ayuda...

Estoy desarrollando un script en php con mysql que sera una base de datos como tipo directorio comercial para mis anunciantes...

mi proposito es hacer una base de datos sencilla con un formulario de insercion sencilla pero que funcione con un buen motor de busqueda dentro de mi web...

por ejemplo un buscador tipo google pero dentro de mi sitio y que atienda a ciertas caracteristicas....

por ejemplo quiero escribir en mi buscador... la palabra "comida" y quiero me muestre todos los registros que contentangan la palabra clave comida.....
tambien quiero poder poner "restaurant la mojarra" y que me muestre los datos de este negocio en caso de que estubiera registrado en mi direcctorio..

No tengo ningun problema para desarrollar la aplicacion lo que no tengo ni idea de como hacer es el BUSCADOR:....

alguien me puede ayudar
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 02/08/2008, 02:49
Avatar de Fogox  
Fecha de Ingreso: abril-2008
Mensajes: 59
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Buscador para mi base de datos

nose cuanto te pueda ayudar esto, pero bajate un drupla y tenes un modulo de search..., ahi lo tenes medio resuelto en tal caso, mira drupal.org y listo

saludos
Fogox
  #3 (permalink)  
Antiguo 02/08/2008, 05:17
 
Fecha de Ingreso: julio-2008
Mensajes: 21
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Buscador para mi base de datos

con un SQL con muchos LIKE;

si tu creaste la aplicación y la base de datos, no creo que tengas muchos problemas para hacer unas consultas.

el problema viene cuando quieres que busque en todos los campos; es decir: si quieres que busque en todo, la búsqueda será lenta. Sí lo limitas a unos criterios o combinas esos criterios, seguro que ayudará mucho.
también dependerá de como hayas diseñado la BD cuantos y donde hayas puesto los indices.
  #4 (permalink)  
Antiguo 02/08/2008, 09:46
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Buscador para mi base de datos

Teniendo en tu tabla de anunciantes, la palabra clave de cada uno, al momento de hacer la busqueda, te conectas con la base de datos y comparas si lo que puso en el campo para buscar, coincide o no con la palabra clave.
Tambien lo que podes hacer es que te devuelva no solo palabras iguales a la almacenada en el campo clave, si no tambien, las que coincidan en las primeras letras...
  #5 (permalink)  
Antiguo 03/08/2008, 09:08
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 20 años, 3 meses
Puntos: 2
Respuesta: Buscador para mi base de datos

Ya pude hacer que me funcionara... pero solo me funciona si busco por un campo... llamado metags


Lo que quiero es poder poner en la busqueda cualquiera de los 3 diferentes campos y que busque en ellos....


esta es parte de mi codigo
Código PHP:
$colname_Recordset1 "-1";
if (isset(
$_GET['key'])) {
  
$colname_Recordset1 $_GET['key'];
}
mysql_select_db($database_noticias$noticias);
$query_Recordset1 sprintf("SELECT * FROM directorio WHERE nombre OR categoria OR metags LIKE %s"GetSQLValueString("%" $colname_Recordset1 "%""text"));
$Recordset1 mysql_query($query_Recordset1$noticias) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1); 
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #6 (permalink)  
Antiguo 03/08/2008, 09:55
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Buscador para mi base de datos

Cita:
Iniciado por Capimaster Ver Mensaje
Ya pude hacer que me funcionara... pero solo me funciona si busco por un campo... llamado metags


Lo que quiero es poder poner en la busqueda cualquiera de los 3 diferentes campos y que busque en ellos....


esta es parte de mi codigo
Código PHP:
$colname_Recordset1 "-1";
if (isset(
$_GET['key'])) {
  
$colname_Recordset1 $_GET['key'];
}
mysql_select_db($database_noticias$noticias);
$query_Recordset1 sprintf("SELECT * FROM directorio WHERE nombre OR categoria OR metags LIKE %s"GetSQLValueString("%" $colname_Recordset1 "%""text"));
$Recordset1 mysql_query($query_Recordset1$noticias) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1); 


Código PHP:

$limpio 
GetSQLValueString("%" $colname_Recordset1 "%""text");

$query_Recordset1 sprintf("SELECT * FROM directorio WHERE nombre LIKE %s OR categoria LIKE %s OR metags LIKE %s"$limpio$limpio$limpio); 
prueba con eso, pongo la variable $limpio para llamar una sola vez a la funcion para limpiar la sentencia.

saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.