Обновление JQuery MySql - PullRequest
       25

Обновление JQuery MySql

1 голос
/ 17 ноября 2009

я пытаюсь адаптировать этот маленький фрагмент:

$("#checkbox_id").change(function(){
     /* CODE HERE */
 });

У меня есть ряд флажков, которые генерируются динамически, и их идентификаторы всегда похожи на «hug3443», где «hug» - это столбец в БД, а «3443» - уникальный идентификатор для каждой строки.

Моя цель заключается в том, чтобы каждый раз, когда флажок изменял состояние, обновлял свое собственное состояние в БД.

Можно ли это сделать с помощью jQuery?

Спасибо.

Ответы [ 6 ]

1 голос
/ 24 февраля 2011

Я только что нашел сценарий для этого материала и подумал опубликовать его здесь, когда проверял эту страницу некоторое время назад, пока, наконец, не наткнулся на этот сценарий. Протестировал его и работал как брелок, и я вставил его в свою библиотеку кодирования. Наслаждайтесь, ребята.

http://www.jooria.com/Tutorials/ajax-20/jquery-live-checkbox-inputs-with-animation-effects-158/

0 голосов
/ 17 ноября 2009

Вы можете получить значение идентификатора флажка, используя javascript, затем вы можете разделить имя на имя поля и значение id. Для этого примера я добавил - в id, чтобы получить разделитель

(я думаю, что вам может понадобиться использовать событие щелчка вместо изменения, думаю, изменение может работать только для выпадающих меню)

$("#checkbox_id").click(function(){

   var checkbox_id = $(this).attr("id");
   var id_bits = checkbox_id.split("-");
   // this would split hug-3443 into hug and 3443 setting id_bits[0] = hug and id_bits[1] = 3443

   $.post("update,php",
     {
       row: id_bits[0],
       id: id_bits[1]
     }
   );

});
0 голосов
/ 17 ноября 2009

Вы должны написать некоторый код на стороне сервера для управления базой данных (php, ruby, что угодно). Вы должны создать что-то вроде API, что означает, что серверный скрипт должен получать некоторые переменные, которые отправляются ему от клиентов (например, идентификаторы строк, имя и значение столбцов).

И после этого вы должны написать свой сценарий внешнего интерфейса jQuery, который будет запрашивать серверный сценарий для управления таблицами базы данных. Для запросов вы можете использовать технологию AJAX, что-то вроде этого:

$.ajax({
    url: 'http://somesite.com/path/to/server/side/script',
    type : 'POST',
    success: function (data, textStatus) {
        alert('yahoo! we get some data from server!' + data);
    }
});
0 голосов
/ 17 ноября 2009

Код в javascript, который вы пишете с использованием jQuery, выполняется на стороне клиента в браузере. Решение от вашего сценария сделать вызов на серверную страницу, которая будет выполнять обновление MySQL. Например, вот так.

$("#checkbox_id").change(function(){
   $.ajax({
      type: "POST",
      url: "/page-that/makes/update.php",
      data: {param1:value1}
   });
});
0 голосов
/ 17 ноября 2009

Не без серверного скрипта, который бы обрабатывал изменения данных.

jQuery - это клиентский JavaScript-фреймворк, не имеющий прямого доступа к mysql, демону на стороне сервера.

Посмотрите на соединение jQuery с php и mysql.

0 голосов
/ 17 ноября 2009

Да. Используйте live events , чтобы прикрепить обработчик события изменения к вашим флажкам (чтобы динамически добавленные флажки также обрабатывались). Затем просто выполните AJAX-запрос внутри обработчика событий, передав вашему сценарию новое состояние и имя / идентификатор флажка (затем вы можете «проанализировать» идентификатор и имя столбца в сценарии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...