Foros del Web » Programando para Internet » PHP »

Alamacenar Resultados de Busquedas

Estas en el tema de Alamacenar Resultados de Busquedas en el foro de PHP en Foros del Web. Quiero poner en la portada de una pagina web las 10 palabras más buscadas en mi web. Para esto, primero tengo que almacenar en la ...
  #1 (permalink)  
Antiguo 10/11/2007, 08:05
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Alamacenar Resultados de Busquedas

Quiero poner en la portada de una pagina web las 10 palabras más buscadas en mi web.

Para esto, primero tengo que almacenar en la base de datos todas las palabras que se buscan.

Hasta aquí no hay problemas...

El problema es que la gente no busca una palabra, busca una cadena de palabras...

y ahí está mi problema... ¿Cómo puedo hacer para que se me guarden en la base de datos cada palabra de una frase en una entrada distinta de la base?

Me explico:
Si alguien busca: "La manzana azul"

Quiero en en la tabla... busqueda_palabras (por ejemplo)
se me guarden 3 entradas diferentes:

La
manzana
azul


No se si me he explicado bien.
Pero claro, si la palabra ya ha sido guardada antes, tiene que marcar como que ya ha sido buscada dos veces...
Si alguien busca despues: "La web"

Se tendria que añadir

web

pero modificar la entrada de
La
para poner en un campo llamado contador un 2

De este modo cuando quiera ver las más utilizadas solo lo tendre que ordenar por el campo de contador....

Buah, es mucho rollo esto para vosotros... pero es que no se como hacerlo...

Es muy complicado, hay alguna otra manera?
  #2 (permalink)  
Antiguo 10/11/2007, 08:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Alamacenar Resultados de Busquedas

no es tan complicado.

tienes que separar la frase ej:
$palabras = explode(' ',$frase);

y luego guardar en la base de datos si la palabra ya esta, incrementas el valor de veces que se ha buscado

Código PHP:
foreach($palabras as $p){
   
$query mysql_query("SELECT * FROM palabras WHERE palabra='$p'");
   if(
mysql_num_rows($query)>0){
      
// Aumentas su valor
   
} else {
      
// Insertas la palabra en la BD
   
}

EDIT: recuerda filtrar la palabra antes de guardarla

Última edición por rumo; 10/11/2007 a las 08:34 Razón: La seguridad ante todo
  #3 (permalink)  
Antiguo 11/11/2007, 12:14
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: Alamacenar Resultados de Busquedas

gracias por tu ayuda
  #4 (permalink)  
Antiguo 11/11/2007, 13:28
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: Alamacenar Resultados de Busquedas

ahora mi problema es otro

quiero poner que ha sido las 5 busquedas mas realizadas al dia

esto lo he hecho de otra manera... simplemente a cada busqueda inserta una entrada con la fecha en formato 2007-11-10 08:26:43 y con las palabras buscadas en busqueda

ejemplo:
Editar Borrar 6 2007-11-10 08:27:45 cachonda
Editar Borrar 7 2007-11-10 08:37:13 pilar
Editar Borrar 8 2007-11-10 08:37:19 Manuel
Editar Borrar 9 2007-11-10 08:37:48 Zambomba
Editar Borrar 10 2007-11-10 09:17:13 Manuel

Entonces, ahora quiero ordenarlos por los más vistos hoy, para ello tiene ke reconocer el dia, y despues contar cuantos hay repetidos

:S aquí si que ya estoy completamente perdido
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 01:28.