【问题标题】:wordpress add multiple checkbox to databasewordpress 将多个复选框添加到数据库
【发布时间】:2016-10-13 07:42:51
【问题描述】:

我对如何在 wordpress $wpdb 中插入多个复选框有疑问。请帮助我或我可以学习的任何资源。非常感谢

   <div class="form-group">
    <ul class = "arrangement">
        <li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]"  value="Drinking Water">Drinking Water</label></li>
        <li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]"  value="Snack">Snack</label></li>
        <li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]"  value="Lunch">Lunch</label></li>
        <li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]"  value="Dinner">Dinner</label></li>
    </ul>
    </div>

这是我的 ajax

 $('#submit').click(function(){

 var dataform  =  $('#v_form').serialize();
 var checkValues =  $('input[name="meal_arrangement[]"]:checked').map(function(){return $(this).val();}).get();

 $.ajax({
            type: "post",
            url: ajax_params.ajax_url,
            data: {"action": "data", 
                    "meal_arrangement":checkValues,
             },
               success: function(data){
               console.log('inserted');
           alert('ok');
        }
    });  
 });

我的 wordpress 功能:

  $table_client_event_meal = $wpdb->prefix."spaces_client_event_meal";
                 $meal_arrangement = sanitize_text_field($_POST["meal_arrangement"]);

                 $result2 =  $wpdb->insert( $table_client_event_meal, 
                    array( 
                      'meal_arrangement'=>$meal_arrangement,
                   )
                 );

【问题讨论】:

  • 你在wordpress函数中检查print_r($_POST)了吗?
  • 是的,结果是 [meal_arrangement] => 数组([0] => 午餐 [1] => 晚餐)我相信 $wpdb->insert() 需要有 foreach。
  • 你在var_dump($meal_arrangement);得到什么
  • 我得到这个用于 vardump -array(2) { [0]=> string(5) "Snack" [1]=> string(5) "Lunch" }
  • 我不认为,这个数组会插入。你想以逗号分隔插入小吃和午餐吗?

标签: php wordpress


【解决方案1】:

大家好,我通过在我的 wordpress 函数中添加 for 循环条件得到了解决方案:

                 $meal_arrangement = $_POST["meal_arrangement"];
                 $count = count($meal_arrangement);   
                 for ( $i=0; $i < $count; $i++ ){

                 $result2 =  $wpdb->insert( $table_client_event_meal, 
                    array( 
                      'meal_arrangement'=>$meal_arrangement[$i],
                   )
                 );
               }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2018-05-08
    相关资源
    最近更新 更多