Как обновить поле mysql при изменении статуса флажка? используя jquery (ajax), php и mysql - PullRequest
2 голосов
/ 03 марта 2010

Я новичок в jquery и ajax, и у меня возникают проблемы с этим ...

У меня есть веб-страница php, которая создает таблицу со значениями из таблицы MySQL. Строки являются «сообщениями», а последним полем строки является логическое поле «чтение», в котором указывается, было ли сообщение прочитано или нет.

Создавая таблицу, я преобразовал логическое значение в флажок, который должен быть «отмечен» или «не отмечен», либо значение равно 1, либо 0.

Что я хочу сделать, это подключить этот флажок к событию ajax, используя jquery, чтобы при изменении состояния флажка (если он был нажат) он отправлял два значения (состояние флажка при первой загрузке таблицы и идентификатор сообщения) в другой файл php.

В этом другом php-файле я бы обновил статус «чтение» этого конкретного сообщения в моей таблице mysql.

Можете ли вы дать мне какие-нибудь огни, как это сделать? Часть php, которую я могу обработать, но я не знаю, какие функции jquery / ajax построить и как их вызывать в html-части флажка ...

Спасибо

1 Ответ

1 голос
/ 03 марта 2010

Следующий код добавит обработчик событий в флажок с идентификатором #checkboxId. Обработчик будет вызывать test.php? Checked = 0 или check = 1, в зависимости от текущего состояния флажка (не проверено / отмечено)

edit: здесь у вас есть полный пример для клиентской стороны. из php вы должны отобразить идентификаторы сообщений в качестве значения флажков. затем он возвращается на сервер в качестве параметра msgId. Теперь поддерживаются несколько флажков с фильтрацией классов. Конечно, вы можете изменить имена классов и параметров.

<html>
<head>
<title>Checkbox test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>

</head>
<body>

<input type="checkbox" class="messageActivated" value="msg0">
<input type="checkbox" class="messageActivated" value="msg1">
<input type="checkbox" class="messageActivated" value="msg2">

</body>

<script type="text/javascript">
$(".messageActivated").bind('click', function() { 
    if($(this).attr('checked'))
    {
        $.get("store.php", { checked: 1, msgId: $(this).attr('value') } );
    }
    else
    {
        $.get("store.php", { checked: 0, msgId: $(this).attr('value') } );
    }
});
</script>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...