que tal quimfv, gracias por tu explicacion, ya me quedo mucho mas claro el asunto
Cita: No se como consigues ese num_visto
mira normalmente ya conozco el id de cada opinión que muestro de acuerdo a la consulta simple
SELECT * FROM opiniones LIMIT 0,4 donde mediante un:
while($row_pop=mysql_fetch_array($res_pop, MYSQL_ASSOC)){
voy recogiendo los valores de cada opinion,
$id_opinion_pop=$row_pop['id_opinion'];
para cada opinion muestro cuantas visitas tiene, con la siguiente consulta:
SELECT SUM(num_visto) FROM contador WHERE id_opinion='$id_opinion_pop'
las tablas que interaccionan aqui son:
opiniones
----------------
id_opinion
autor_op
fecha_op
hora_op
email_op
id_categoria_op
titulo_op
descripcion_op
contador
-----------------
id_visto
ip_visto
num_visto
fecha_visto
id_opinion
Cita: No seria mas logico guardar un registro por visita?...
según yo así lo hago, mira acá en la tabla contador se guarda la id de la opinion visitada y los datos de la visita que son un id, la ip, el numero de visitas y la fecha/hora (si coincide la ip y han pasado mas de 5 horas, le suma uno al valor que tenga el campo num_visto y actualiza la fecha y hora, de lo contrario no cuenta la visita)
por ejemplo te ponia los valores que tengo de prueba en la tabla contador:
id_visto__ ip_visto__ num_visto____ fecha_visto__________ id_opinion
1_______ 127.0.0.1_______ 2_______ 2012-02-03 13:30:23_______ 2
2_______ 127.0.0.2_______ 1_______ 2012-02-02 18:29:57_______ 1
3_______ 127.0.0.1_______ 2_______ 2012-02-03 13:26:11_______ 1
4_______ 127.0.0.1_______ 1_______ 2012-02-03 13:17:35_______ 6
5_______ 127.0.0.1_______ 1_______ 2012-02-03 13:30:45_______ 4
como podras darte cuenta la id de la opinion 1 se repite, lo que significaria que se vio 1 una vez por la ip 127.0.0.2 y dos veces por la ip 127.0.0.1, entonces para obtener el numero de visitas de la opinion 1 se deben sumar el 1 y el 2 del campo num_visto donde las ip sean iguales, en este caso a 1.
entonces lo que necesito es en una sola consulta tener los resultados de:
-> SELECT * FROM opiniones
-> SELECT SUM(num_visto) FROM contador WHERE id_opinion='$id_opinion_pop'
***mostrados de acuerdo al numero de visitas DESC***
perooooo teniendo en cuenta que ya no sabre de antemano la $id_opinion_pop
de verdad muchas gracias por la ayuda