wordpress добавить несколько флажков в базу данных

#php #wordpress

#php #wordpress

Вопрос:

У меня проблема с тем, как вставить несколько флажков в 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,
                   )
                 );
  

Комментарии:

1. вы проверили print_r($_POST) функцию WordPress?

2. да, результат [meal_arrangement] => Array ([0] => Обед [1] => Ужин) я считаю, что в $ wpdb-> insert() должен быть foreach .

3. и что ты получаешь var_dump($meal_arrangement);

4. я получаю это для vardump -array(2) {[0]=> string(5) «Перекус» [1]=> string(5) «Обед» }

5. я не думаю, что этот массив будет вставлен. вы хотите вставить закуски и обед через запятую?

Ответ №1:

Привет всем, я получаю решение, добавив условие цикла for в мою функцию WordPress:

                  $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],
                   )
                 );
               }