Показать сообщение отдельно
  #1 (permalink)  
Старый 06.10.2011, 17:41
val val вне форума
Новичок на форуме
Отправить личное сообщение для val Посмотреть профиль Найти все сообщения от val
 
Регистрация: 06.10.2011
Сообщений: 2

Сообщение в модальном окне
Здравствуйте, такая проблема:
сообщения хранятся в базе, выводятся на страничку скриптом, приведённым ниже. Непрочитанные сообщения имеют флажок 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>';
    }
}
?>
Ответить с цитированием