2016-04-11 38 views
0

這是我當前的代碼來保存多個選擇字段值。它只保存一(1)個值,而不是我選擇的每個值。如何在PHP中保存多個選擇字段?

public function booked_save_calendars_custom_fields($term_id) { 
     if (isset($_POST['term_meta'])) { 
      $t_id = ($term_id); 
      $term_meta = get_option("taxonomy_$t_id"); 
      $cat_keys = array_keys($_POST['term_meta']); 
      foreach ($cat_keys as $key) { 
       if (isset ($_POST['term_meta'][$key])) { 
        $term_meta[$key] = $_POST['term_meta'][$key]; 
       } 
      } 
      update_option("taxonomy_$t_id", $term_meta); 
     } 
    } 

這是爲WordPress中的分類保存自定義元字段。

+0

爲什麼你不循環$ term_meta鍵但輸入? – madalinivascu

回答

0

由於您對我的理解有限,所以我只能回答這個問題。如果它滿足你的需求,那就接近它。

<form action="" method="post"> 
    <select name="fruits[]" multiple> 
     <option value='apple'>Apple</option> 
     <option value='orange'>Orange</option> 
     <option value='mango'>Mango</option> 
     <option value='grapes'>Grapes</option> 
    </select> 
    <input type="submit" value="submit"/> 
</form> 

// The name attribute for multi select field should be of array type 

<?php 
if(isset($_POST['fruits'])) 
{ 
    foreach($_POST['fruits'] as $key=>$value) 
    { 
     echo $value."<br>"; 
     // do something required 
    } 
    // or if you want to insert it in db just convert it into JSON data 
    json_encode($_POST['fruits']); 
    // proceed the insertion query 
    // Note The db field for the json data should have text data type 
} 
?>