Сообщение в модальном окне
Здравствуйте, такая проблема:
сообщения хранятся в базе, выводятся на страничку скриптом, приведённым ниже. Непрочитанные сообщения имеют флажок 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>'; } } ?> |
Ну так при открытии, делай UPDATE флажка a.red
|
Ну так я и делаю, см. строки 21-24, только вот по этому условию апдейтится не нужное сообщение, а все сразу.
|
Часовой пояс GMT +3, время: 22:18. |