Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>';
    }
}
?>
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2011, 18:24
Аватар для systemiv
Профессор
Отправить личное сообщение для systemiv Посмотреть профиль Найти все сообщения от systemiv
 
Регистрация: 19.08.2011
Сообщений: 186

Ну так при открытии, делай UPDATE флажка a.red
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2011, 20:05
val val вне форума
Новичок на форуме
Отправить личное сообщение для val Посмотреть профиль Найти все сообщения от val
 
Регистрация: 06.10.2011
Сообщений: 2

Ну так я и делаю, см. строки 21-24, только вот по этому условию апдейтится не нужное сообщение, а все сразу.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактируем контент в модальном окне KonstRuctor Ваши сайты и скрипты 4 01.08.2011 13:42
в модальном окне не работает скрипт проверки формы necroms jQuery 1 11.03.2011 15:14
Данные в модальном окне lukingnu jQuery 3 03.08.2010 21:21
Ссылка в модальном окне lukingnu jQuery 1 26.07.2010 15:57
Авторизация в модальном окне с помощью jQuery A.N.R.I jQuery 17 01.03.2010 19:26