• Как организовать HTML код формы (Form) с динамическим добавлением "параметров" с Chechbox для PHP?

    @allexp
    web-developer
    <form method="POST">
        <!-- Данные записи -->
        <input type="hidden" name="id" value="{$id}">
        <input name="name">
        <input name="title">
        <textarea name="text"></textarea>
        <!-- Параметры записи (существующие) (цикл)  -->
        <input  type="checkbox" name="params[{$param_id}]" value="{$value1}" checked="checked">
        <!-- Новые параметры -->
        <input name="new_params[]" value="param_value" type="checkbox">
        <button>Кнопка добавляющая ещё параметр (через JS)</button>
        </form>


    $params = array();
    foreach ($_POST['params'] as $param_id => $value) {
        $params[$param_id] = $value;
    }
    // найти существующие параметры
    $old_params  = SELECT * FROM params WHERE ...
    foreach ($old_params as $param) {
        // удалить снятые 
        if (!array_key_exists($param['id'], $params)) {
            // DELETE FROM params WHERE id = param['id']
        }
    }
    
    // добавить новые
    foreach ($_POST['new_params'] as $param_key => $value) {
        // INSERT params SET value = $value, ...
    }


    А лучше вобще избавиться от $param_id. И просто очищать параметры записи при сохранении, и добавляя только отмеченные.
    Ответ написан
    1 комментарий