php - 将动态字段数据插入数据库问题?

标签 php jquery mysql

我有一个动态创建的字段,效果很好。我目前正在尝试将输入到动态字段中的数据插入到我的数据库中。 但是,信息不会插入数据库,即提交按钮未提交。

我已将 jQuery 和 php 中的表单复制并粘贴到测试文件中,删除了 jQuery 并根据需要插入表单。

我的动态字段是使用 jquery 创建的,我正在尝试使用 php 将数据插入数据库,jquery 和 php 是否协同工作?非常感谢任何建议或意见。

动态场

    $(document).ready(function() {
            var max_fields = 100; //maximum input boxes allowed
            var wrapper = $(".input_fields"); //Fields wrapper
            var add_button = $(".add_field"); //Add button ID

            var x = 1; //initlal text box count
            $(add_button).click(function(e) { //on add input button click
                e.preventDefault();
                if (x < max_fields) {
                    x++; //text box increment
                    $(wrapper).prepend('<div id="new_blue">\n\
                           <div id="inline" class="div">\n\\n\
                           <form id="form" class="Form" method="POST" action="" accept-charset="utf-8">\n\
                           <p id="option" class="text">Option name\n\
                           <input type="text" id="option_nme" name="option_nme[]" class="option_field"></p>\n\
                           </div>\n\
                           \n\
                           <div id="inl" class="div">\n\
                           <p id="customer" class="text">Allow customer to pick ..\n\
                           <select class="optionType" name="optionType" value=""disabled="disabled" >\n\
                           <option value="Option Type" disabled="disabled">Option Type</option>\n\
                           </select>\n\
                           </div>\n\
                           </p>\n\
                           <hr id="hoz_line">\n\
                           <p id="para">You can add add-ons after creating this option...\n\
                           </p>\n\
                           <input type="submit" id="dynamic_submit" name="dynamic_submit" value="Submit">\n\
                           <a href="#" class="remove_field">Remove</a>\n\\n\
                           </form></div>'); //add input box
                }
            });

            $(wrapper).on("click", ".remove_field", function(e) { //user click on remove text
                e.preventDefault();
                $(this).parent('div').remove();
                x--;
            })
        });

插入查询

  $dbc = new mysqli("localhost", "root", "root", "One_Delivery");
    $dbc->set_charset("utf8mb4");

    $sel_sql = "SELECT Add_On_ID FROM Add_On";
    $sel_result = $dbc->query($sel_sql);

    if ($sel_result->num_rows > 0) {
        // output data of each row
        while ($sell_row = $sel_result->fetch_assoc()) {
            $ao_id = $sell_row['Add_On_ID'];
        }

        //insert dynamic field(s) into add-on
        if (isset($_POST['dynamic_submit'])) {
            $df_option_name = $_POST['option_nme'];

            // option name validation
            if (empty($_POST['option_nme'])) {
                $add_product_errors['option_nme'] = "Oops! i cannot be empty";
            }

            $ao_query = "INSERT INTO Add_on(Add_On_OpName) VALUES (?)
         ON DUPLICATE KEY 
         UPDATE
         Add_On_OpName = ?"; //on duplicate input update row
            //var_dump($databaseObject);
            $ao_run_query = $dbc->prepare($ao_query);

            $ao_run_query->bind_param('ss', $df_option_name, $df_option_name);
            // THIS now executes the above transaction, returns TRUE if successful - issdissd duplicate update
            if (!$ao_run_query->execute()) {
                $insertError = "There was an error inserting data: " . $ao_run_query->error;
            }

            print "affected rows:" . $ao_run_query->affected_rows; //how many records affected? 
            $ao_run_query->free_result(); // Frees memory on completion 
            $ao_run_query->close(); //closes this action 


        }

最佳答案

有几点:

按钮是否通过 AJAX 输出?如果是这样,您需要像这样听:

$(document).on('click', '.add_field', function(e) {
    // do stuff
});

您还在 .add_field 上使用了两次 $() 这可能会产生影响,而是执行以下操作:

$('.add_field').on('click', function(e) {
    // do stuff
});

$('.add_field').click(function(e) {
    // do stuff
});

关于php - 将动态字段数据插入数据库问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815974/

相关文章:

javascript - 没有边框的 iframe 并在弹出窗口中滚动

javascript - 谷歌地图(v3)信息窗口一直在同一个标​​记上打开

mysql - SQL查询比较3个表并得到答案

mysql - 即使没有记录也每小时行

javascript - Jquery load() 不加载 php 文件

php - LDAP - 具有多个组的搜索过滤器

php - 全文搜索中的 MySql SQL_CALC_FOUND_ROWS 问题

php - 防止直接访问jquery post url

javascript - 使用 jQuery 通过 $(window).width() 进行响应式设计?

php - 我怎样才能把这个表连接在一起