Здравствуйте, такая проблема:
сообщения хранятся в базе, выводятся на страничку скриптом, приведённым ниже. Непрочитанные сообщения имеют флажок red=1, прочитанные red=0. Хочу сделать, чтобы после открытия в модальном (всплывающем) окне открытое сообщение помечалось прочитанным, но никак не соображу, как это сделать. По условию:
if ("document.getElementById('light_msg$msg_id').style.display='block';document.getElementById('fade').style.display='block'" == TRUE)
не только выбранное, а все сообщения помечаются прочитанными. Я уже понял, что это условие неверно, т.к. var_dump('any_string' == true); => bool(true).
Помогите, пожалуйста, решить проблему, как сделать так, чтобы помечалось то сообщение, для которого было открыто окно по ссылке.
Весь скрипт:
<?
# Выборка сообщений для получателя
$query = mysql_query("select a.id, a.author, a.message, a.red from messages a, users b
where a.author = b.login and poluchatel = '$name' order by date desc;") or die(mysql_error());
if(empty($query)){
echo "Нет сообщений";
} else {
# Список полученных сообщений в цикле
while ($row=mysql_fetch_array($query)) {
$msg_id = $row['id'];
$message = $row['message'];
# Печатаем на страничке сообщения в виде ссылок
if ($row[red] == 1)
{
# Если Red = 1, то сообщение НЕ помечено, как ПРОЧИТАННОЕ и оно толстое
print <<< HERE
<a href = "javascript:void(0)" onclick = "document.getElementById('light_msg$msg_id').style.display='block';document.getElementById('fade').style.display='block';">
HERE;
echo '<b>'.$msg_id.' '.$message.'</b>
</a>';
if ("document.getElementById('light_msg$msg_id').style.display='block';document.getElementById('fade').style.display='block'" == TRUE)
{
$mark = mysql_query("update messages set red = 0 where id = '$msg_id';") or die(mysql_error());
}
} else {
# Если Red = 0, то сообщение помечено, как ПРОЧИТАННОЕ и оно тонкое
print <<< HERE
<a href = "javascript:void(0)" onclick = "document.getElementById('light_msg$msg_id').style.display='block';document.getElementById('fade').style.display='block'">
HERE;
echo $message;
echo '</a>';
}
}
?>