A ver, les comento mi problema.
Pretendo mostrar el articulo mas visto de una categoria.
Lo que tengo es lo siguiente:
Tabla categorias_articulos:
id_categoria, (Ej: 1)
id_articulo, (Ej: 150)
En esta tabla meto cada arituclo con su categoria, en este caso tengo un articulo que pertenece a la categoria 1.
Luego tengo otra tabla articulos:
id,
titulo,
desc,
total_visitas,
En esta tabla esta claro que tengo el articulo completo; su titulo, su descripcion,sus visitas, etc.
Mi intención es que cuando este visualizando una categoria y se me muestren todos los articulos de esa categoria, se me muestre el articulo mas visto de la categoria en la que me encuentro.
Lo que se me ha ocurrido, es sacar primero todos los articulos de la categoria en la que estoy, y posteriormente hacer una consulta a la tabla articulos con esas identidades, buscando cual de ellas, tiene mas visitas.
¿Se ve logico no?
Bueno, el problema lo tengo ahí. Muestro el código y os comento:
Código ejemplo:
Ver original
<?php include ("config.php"); $sql= mysql_query("SELECT * FROM categorias_articulos where id_categoria='1' ORDER BY id",$conexion); $data = array(); while ($row = mysql_fetch_assoc($sql)) $data[$row['id_articulo']] = $row['id_categoria']; foreach($data as $var => $val) { echo "<br>"; $sql2 = mysql_query("select * from aritculos where id='$var' ORDER BY total_visitas DESC ", $conexion) or die(mysql_error()); $row2=mysql_fetch_array($sql2); $total_visitas=$row2["total_visitas"]; $titulo=$row2["titulo"]; echo "total de visitas: $total_visitas"; } ?>
Como ves utilizo un foreach para mostrar todas las identidades...
$val es el nombre de la categoria en el que me encuentro y
$var son las identidades de articulo que tiene esa categoria.
¿Donde esta el problema?
En la consulta que realizo a la tabla articulos.
Si en el where id='$var' coloco la id del articulo a mano, por ejemplo 150, pues correctamente me muestra el total de visitas del mismo... pero colocando $var me muestra el total de visitas de todos los articulos pertenecientes en la que me encuentro.
Espero se me haya entendido sino solo decirlo
Muchas gracias como siempre