@GatorV: bueno sigo con el tema por que no quede 100% claro...
quiza me odies pero no estoy deacuerdo con esa forma ..
que pasaria si el foro tiene 4.000.000 de usuarios registrados y el movimiento promedio fuera entre post editados y nuevos de 500 por minuto... ?
tendrias 500 consultas * 4.000.000 de usuarios.. y eso solo en un minuto..
(sin mencionar los fines de semana
)
ahora yo para aportar con una idea creo q seria mejor hacerlo al reves..
Código PHP:
Ver original<?php
// al crear un tema
$consulta = "INSERT INTO read_control (thread_id, users_id) VALUES ($thread_id, NULL)";
// al editar un tema
$consulta = "UPDATE read_control SET users_id = NULL WHERE thread_id = $thread_id";
// al leer un tema que no habias leido (user registrado & logueado)
$consulta = "UPDATE read_control SET users_id = CONCAT(users_id, ';".$_SESSION['user_id']."') WHERE thread_id = $thread_id";
// en la carga de la pagina donde muestra los topic del foro seleccionado (user registrado & logueado)
$consulta = "SELECT t.thread_id, t.thread_title, t.thread_subtitle, t.thread_url, r.users_id
FROM threads t, read_control r
WHERE t.thread_id = r.thread_id
AND t.thread_category = $categoria_foro
ORDER BY t.date_last_modification";
$consulta = $db->consultar($consulta);
while($registro = $db->fetch_assoc($consulta)){
$leido = in_array($_SESSION["user_id"], explode(";",$registro['thread_id'])) ?
"normal" : "bold"; echo '<a style="font-weight:'.$leido.'" href="pagina.php?id='.$registro['thread_id'].'">'.$registro['thread_title'].'</a>';
}
?>
aunque es solo una idea de la forma en que yo creo quedaria con menos saturacion..
PD: no estoy obesionado
saludos