2016-03-17 3 views
1

У меня есть страница настроек на моем сайте, и я хотел бы, чтобы пользователь мог либо проверить, либо снять флажок на странице настроек. Государства Флажки должны появиться при входе пользователя вСохранить и загрузить флажок установлен в базу данных

Моя идея заключается в том, чтобы присвоить идентификаторы для каждого чекбокса, как это:.

<input type="checkbox" id="chk1" data-col='column1' value="0"/> 
<input type="checkbox" id="chk2" data-col='column2' value="0"/> 

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

$("input:checkbox").each(function() { 
    if $(this).prop('checked'){ 
    $(this).prop('value','1') 
    } 
}); 

, а затем есть столбец в моей MySql таблице для каждого флажка, а затем отправить значение (1 или 0) в свою базу данных с помощью AJAX/PHP.

Затем, когда пользователь входит в систему, я могу получить значения (1 или 0) для каждого столбца, а затем на основе этого установить установленное состояние.

Это хороший способ сделать это? Я хочу, чтобы я не пошел по неправильному пути, если есть более простое решение или подход.

ответ

-1

Предположим, что $ query_array является контейнером вашего запроса db. Так как вы включили PHP в теге Поста вы можете вставить PHP тег внутри ввода (при условии, что файл является PHP тоже):

<input type="checkbox" id="chk1" data-col='column1' value="<?php echo $query[0][col_name];?>"/> 

^-выше может быть идентификатором, и col_name этого имя столбца который содержит 0/1

Когда это компилируется, он должен быть похож на это:

<input type="checkbox" id="chk1" data-col='column1' value="0"/> 
+1

Спасибо за ваше предложение! Я думаю, что я буду использовать jquery, чтобы установить значение из ответа ajax из файла php. –

+1

недостаточно установить значение 1, но также добавить атрибут «checked» для каждого из них. – mitkosoft

+0

@Bruno, добро пожаловать! И jquery с комбинацией ajax - это классный подход, так как вы хотите просто использовать html. Счастливое кодирование! –

-1

Вместо того, чтобы использовать JQuery, почему бы вам просто не делают флажки с уже установленными их значением:

<input type="checkbox" id="chk1" data-col='column1' value="<?php echo $chk1?>" <?php echo $checked?>/> 

Редактировать

Если вы хотите сохранить его HTML только вы могли бы хранить состояния в формате JSON (где имя свойства является идентификатор чекбокса и значение его состояние) и цикл через него, как:

$.each(jsonChkbxValues, function(index, val) { 
    var elem = $('#' + index); 

    elem.prop('value', val); 
    if (val) { 
     elem.attr('checked', 'checked'); 
    } 
}); 
+0

Я собирался использовать jQuery, потому что я хотел сохранить мою страницу только в html, чтобы упростить ее перенос в мобильное приложение. Спасибо за ваше предложение! –

+2

недостаточно установить значение 1, но также добавить атрибут «checked» для каждого из них. – mitkosoft

+0

Да, атрибут checked также должен быть добавлен, я исправил ответ @mitkosoft. –

Смежные вопросы