Foros del Web » Programando para Internet » PHP »

como incluir articulos relacionados en mi web

Estas en el tema de como incluir articulos relacionados en mi web en el foro de PHP en Foros del Web. He visto en otros sitio web Articulos relacionados como 5 listas parecidos al articulo que esta visualizado la verdad no tengo la menor idea como ...
  #1 (permalink)  
Antiguo 22/11/2010, 21:49
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
como incluir articulos relacionados en mi web

He visto en otros sitio web Articulos relacionados como 5 listas parecidos al articulo que esta visualizado la verdad no tengo la menor idea como puedo seleccionar desde base datos de acuerdo de la palabra o titulo del articulo visualizado.
ejm:
titulo del tema o url:

curso-php-gratis.html

Articulos relacionados:
  1. php curso gratis
  2. html curso gratis
  3. curso gratis
  4. php mysql
etc etc

no es para php-nuke ni para worpress es para un portal echo desde cero todo ayuda es agradecido.

Saludos...
  #2 (permalink)  
Antiguo 22/11/2010, 22:27
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 1 mes
Puntos: 177
Respuesta: como incluir articulos relacionados en mi web

tendrias que hacer un sistema de tags, que son palabras que describen el articulo, entonces a cada articulo que se postée, se le tendran que poner tags por ejemplo si el articulo es sobre cursos de php, las tags serían php , curso php, programacion php.... etc.

Por otra parte podrías discriminar los articulos por categorias
__________________
la la la
  #3 (permalink)  
Antiguo 22/11/2010, 22:42
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: como incluir articulos relacionados en mi web

tengo tags creados al momento de crear el árticulo tambien se envian los tags a base de datos solo me faltaria hacer un SELECT con php si tienen por ahi una guia o un ejmplo para guiarme.

Saludos
  #4 (permalink)  
Antiguo 22/11/2010, 23:49
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 1 mes
Puntos: 177
Respuesta: como incluir articulos relacionados en mi web

<?php
# conexion########################################## #
$conexion=mysql_connect("localhost","user","pass") or die (mysql_error());
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("nombre_base_datos",$conexion);

$consulta=mysql_query("select * from tabla",$conexion);?>

<select name="nombre" id="nombre">
<?php while ($resultado_consulta=mysql_fetch_assoc($consulta_b iblioteca)){?>
<option value="<?php echo $resultado_consulta['campo_de_la_tabla']; ?>"><?php echo $resultado_consulta['campo_de_la_tabla']; ?></option><?php }?>
</select>
__________________
la la la
  #5 (permalink)  
Antiguo 12/12/2010, 02:42
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: como incluir articulos relacionados en mi web

La verdad truman_truman gracias por la respuesta pero no e servio de nada deberias de analizar bien mi pregunta asi responder no me refiero a selecionar en un select de todos modos GRarcias
  #6 (permalink)  
Antiguo 12/12/2010, 06:41
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años
Puntos: 67
Respuesta: como incluir articulos relacionados en mi web

No podría darte una respuesta concluyente porque no conozco tu estructura de base de datos, como guardas esos tags, sin embargo puedo darte una idea.

Debes obtener todos los tags del artículo actual, después hacer la consulta de todos los artículos que contengan al menos uno de los tags encontrados. Eso se podría hacer con una sola consulta usando subconsultas. Espero que te haya servidor mi respuesta. Suerte!
  #7 (permalink)  
Antiguo 12/12/2010, 09:06
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: como incluir articulos relacionados en mi web

tengo una tabla creado con el nombre noticias y una columna llamado tags dentro de el se almacena las palabras claves.

tengo este codigo me muestra articulos relacionados pero al cambiar a otro articulo no cambia a otros temas relacionados:
Código PHP:
Ver original
  1. <?
  2. $idArt=$_GET["v"];
  3. $qr_articulo=mysql_query("select * from noticias where idNoticia=$idArt",$conexion) or
  4. die("Problemas en el select:".mysql_error());
  5. $rs_articulo=mysql_fetch_array($qr_articulo);
  6.  
  7. //Separas las palabras clave
  8. $where=" WHERE ";
  9. $palabras=explode(",",$qr_articulo["titulo"]);
  10. foreach ($palabras as $p) {
  11. $where.=($where==" WHERE ") ? " " : " and ";
  12. $where.="titulo LIKE '%".$p."%'";
  13. }
  14.  
  15. //Ahora haces la búsqueda de articulos relacionados
  16. $qr_relacionados=mysql_query("select * from noticias ".$where." LIMIT 5",$conexion) or
  17.  die("Problemas en el select:".mysql_error());
  18.  while ($relacionados=mysql_fetch_array($qr_relacionados))
  19. {
  20. $cadenar = $relacionados['titulo'];
  21. $cadena_cambiadar = str_replace(" ","-",$cadenar);
  22. echo "<a href=\"".$cadena_cambiadar."-".$relacionados['idNoticia'].".html\">".$relacionados['titulo']."</a><br>";
  23. }
  24. ?>
  #8 (permalink)  
Antiguo 12/12/2010, 10:39
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años
Puntos: 67
Respuesta: como incluir articulos relacionados en mi web

En ese código no veo para nada el uso de los tags. Prueba haciendo lo mismo, pero en lugar de usar el titulo usa el campo donde guardas los tags.
  #9 (permalink)  
Antiguo 12/12/2010, 12:36
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: como incluir articulos relacionados en mi web

le cambie titulo por el tags igual no cambia articulos relacionados es decir no busca con termino de tags.

Código PHP:
Ver original
  1. <?
  2. echo "<div id=\"relacionados\">";
  3. echo "<strong>Art&iacute;culos relacionados</strong><br>";
  4. $idArt=$_GET["v"];
  5. $qr_articulo=mysql_query("select * from noticias where idNoticia=$idArt",$conexion) or
  6. die("Problemas en el select:".mysql_error());
  7. $rs_articulo=mysql_fetch_array($qr_articulo);
  8.  
  9. //Separas las palabras clave
  10. $where=" WHERE ";
  11. $palabras=explode(",",$qr_articulo["tags"]);
  12. foreach ($palabras as $p) {
  13. $where.=($where==" WHERE ") ? " " : " and ";
  14. $where.="tags LIKE '%".$p."%'";
  15. }
  16.  
  17. //Ahora haces la búsqueda de articulos relacionados
  18.  $cont=1;
  19. $qr_relacionados=mysql_query("select * from noticias ".$where." LIMIT 8",$conexion) or
  20.  die("Problemas en el select:".mysql_error());
  21.  while ($relacionados=mysql_fetch_array($qr_relacionados))
  22. {
  23. $cadenar = $relacionados['titulo'];
  24. $cadena_cambiadar = str_replace(" ","-",$cadenar);
  25. echo "".$cont.".- <a href=\"".$cadena_cambiadar."-".$relacionados['idNoticia'].".html\">".$relacionados['titulo']."</a><br>";
  26. $cont++;
  27. }
  28. echo "</div>";
  29. ?>
  #10 (permalink)  
Antiguo 12/12/2010, 18:39
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años
Puntos: 67
Respuesta: como incluir articulos relacionados en mi web

Eso me temía, creo que lo que sucede es que la manera como guardas los tags es el problema. No debería ser así. Deberías crear una tabla tags para guardar los tags y otra tabla para relacionar los artículos con los tags.

tabla: tags

id: bingint
tag: varchar (75);

tabla: articulo_tags

articulo: (Clave foránea apuntando a la tabla articulos)
tag: (Clave foránea apuntado a la tabla tags)


Bien, no quería decir esto porque tendrías que cambiar bastante de lo que ya haz hecho. Pero esta es la mejor forma. Cuando hagas la consulta para los artículos relacionados harías esto:

Código PHP:
$sql "SELECT arts.id, arts.titulo 
            FROM articulos arts
            INNER JOIN articulo_tag arta ON arts.id = arta.articulo
            WHERE arta.tag IN (
                                  SELECT ata.tag 
                                  FROM articulo_tag ata
                                  INNER JOIN articulos art ON ata.articulo = art.id
                                  WHERE art.id = $idarticulo"

Mas o menos esa sería la forma. Espero que te sirva. Suerte!
  #11 (permalink)  
Antiguo 24/12/2010, 14:59
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: como incluir articulos relacionados en mi web

gracias ya tengo la idea pero podrias completar el codigo por favor y se lo agrdezco por su enseñanza

Etiquetas: articulos, curso, php+mssql
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 22:50.