У меня есть столбец в таблице сообщений моей базы данных. Он называется «статус» и в основном обновляется каждый раз, когда пользователь «читает» сообщение, делает сообщение «избранным». По умолчанию для столбца tinyint установлено значение "0".
0 = непрочитано
1 = читать
2 = любимый
У меня есть некоторые jquery и css на моей странице входящих сообщений, которые позволяют пользователю иметь возможность устанавливать все флажки сообщений или нет, если они были выбраны.
Прямо над моими входящими сообщениями находятся эти ссылки "все - нет - прочитано - непрочитано - избранное ...". Это в основном варианты сообщений, которые пользователь может автоматически проверять / выбирать.
Что я хочу сделать
Я бы хотел, чтобы мой jquery взял значения из таблицы сообщений базы данных ... столбец состояния и как их использовать, чтобы определить, прочитано ли сообщение ... не прочитано или было добавлено в избранное.
С PHP я уже сделал нечто подобное с помощью простого оператора if.
<?php foreach ($query as $row): ?>
<tr>
<td width="5%"><input name="message" id="messages" type="checkbox" value=""></td>
<td width="5%">fav*</td>
<td><?php if ($row['status'] == 0) { echo "Unread"; } elseif ($row['status'] == 1) {echo "Read";} elseif ($row['status'] == 3) { echo "Replied";}?></td>
<td><?php echo $row['from_user']; ?></td>
<td><?php echo $row['subject'] . " - " . $row['message']; ?></td>
<td><?php if ($row['date_sent'] == date('Y-m-d')) { echo $row['time_sent']; } else echo $row['date_sent']; ?></td>
</tr>
<?php endforeach; ?>
JQuery
<script type="text/javascript">
$('#links').delegate('a', 'click', function(ev) {
// reset all checkboxes
$('input:checkbox').attr('checked', false);
// get info, what is the user choice
whichMessages = $(this).attr('id');
// do our main work - select checkboxes
switch (whichMessages) {
case 'all':
$('input:checkbox').attr('checked', true);
break;
case 'read':
$('input:checkbox.read').attr('checked', true);
break;
case 'unread':
$('input:checkbox.unread').attr('checked', true);
break;
case 'fav':
$('input:checkbox.fav').attr('checked', true);
break;
};
// add some user-frendly markup
$('#links a').removeClass('active');
$(this).addClass('active');
// and standard action to prevent standard link click event
ev.preventDefault();
});
</script>
HTML
<p id="links">
<a href="#" id="all" class="pseudo">all</a>,
<a href="#" id="none" class="pseudo active">none</a>,
<a href="#" id="read" class="pseudo">read</a>,
<a href="#" id="unread" class="pseudo">unread</a>,
<a href="#" id="fav" class="pseudo">favourite</a>