Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 11-oct-2008, 01:02   #1 (permalink)
demogar ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 40
Enviar un mensaje por MSN a demogar
Contenido similar

Bueno chicos, tengo una pagina web en donde el sistema de contenido lo he creado por mi propia cuenta utilizando CodeIgniter.

Ahora, tengo un problema ya que debajo de la noticia completa quiero mostrar las noticias relacionadas a la noticia que se esta viendo en ese preciso momento, pero no se como me recomiendan hacerlo (solo pido la logica, mas o menos, ya que por hacer el codigo no hay problema).

Gracias de antemano

Última edición por GatorV; 11-oct-2008 a las 01:30.
demogar está desconectado   Responder Citando
Antiguo 11-oct-2008, 01:31   #2 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 16.008
Respuesta: Contenido similar

Hola demogar,

Lo ideal para hacer lo que pides es que realices una búsqueda del tipo LIKE de los artículos en los que el titulo sea similar.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 11-oct-2008, 09:58   #3 (permalink)
Colaborador
okram llegará a ser famoso muy prontookram llegará a ser famoso muy prontookram llegará a ser famoso muy prontookram llegará a ser famoso muy prontookram llegará a ser famoso muy pronto
 
Avatar de okram
 
Fecha de Ingreso: abril-2005
Ubicación: Arequipa - Perú
Mensajes: 2.349
Respuesta: Contenido similar

Si se utiliza LIKE con el título, se buscará, o bien los mensajes en cuyos títulos esté incluído el actual (lo cual es poco probable), o bien los que tengan ciertas palabras que nosotros extraigamos del título y que sean claves en el asunto, pero... cómo las determinamos? Pienso que lo ideal sería usar una búsqueda FULLTEXT, o en todo caso definir en cada mensaje un conjunto de palabras clave que se usen para encontrar otros relacionados.

Saludos,
__________________
- Facultad de Medicina UNSA » Clínica Pediátrica I
En mantenimiento... -> PHPPaging v2.1 [Paginación PHP/MySQL]

Última edición por okram; 11-oct-2008 a las 20:02. Razón: Horrores ortográficos
okram está desconectado   Responder Citando
Antiguo 11-oct-2008, 16:16   #4 (permalink)
demogar ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 40
Enviar un mensaje por MSN a demogar
Respuesta: Contenido similar

Muy buena la respuesta de ambos.
Me he quedado con la buena respuesta de okram que además me sirvió para un problema que tenía en la búsqueda del sitio.
Ya he agregado la funcion en las noticias de mi página.

Dejo aqui la solucion por si qlguien luego lo necesita:
En las busquedas de mi sitio, primero hago una cuenta de cuantas palabras estan en la busqueda.
Código:
if($numero == 1):
	    	$this->db->like('titulo', $query);
	    	$this->db->or_like('breve', $query);
	    	$this->db->or_like('texto', $query);
else:
    		$this->db->where('MATCH (titulo, breve, texto) AGAINST ("'.$query.'" IN BOOLEAN MODE)', NULL, FALSE);
endif;
Más o menos utilizo lo mismo para mostrar las entradas relacionadas, con el único hecho que ademas de buscar dentro del titulo, informacion breve y el texto, tambien busco cuando la categoria de la noticia es la misma (para que sea más preciso).

Saludos

Última edición por demogar; 11-oct-2008 a las 16:26.
demogar está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 10:26.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96