添加一组复选框,以便可以在数据库中存储多个值

时间:2016-11-05 08:17:43

标签: checkbox moodle

我想在数据库中存储多个复选框值,目前只存储最后一个复选框值,即存储demo3。 其他值不在数据库中。

    $preprocedure=array(); 
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure','', 'Demo1', array('group' => 1), array('','demo1'));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure','', 'Demo2', array('group' => 1), array('','demo2'));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure','', 'Demo3', array('group' => 1), array('','demo3'));
   $mform->addGroup($preprocedure, 'preprocedure', get_string('preprocedure', 'assignsubmission_metadata'),array('<br>'), false);

1 个答案:

答案 0 :(得分:0)

这是因为您用于元素的名称,一次只允许设置一个值。如果要存储多个值,则应使用数组格式的名称。

示例一:

  def arrange(str1: String, str2: String): (String, String) = {
    if (str1 == "YELLOW") {
      return (str1, str2)
    } else {
      return (str2, str1)
    }
  }

会给你:

$preprocedure=array();
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[demo1]','', 'Demo1', array('group' => 1), array('',1));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[demo2]','', 'Demo2', array('group' => 1), array('',1));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[demo3]','', 'Demo3', array('group' => 1), array('',1));
    $mform->addGroup($preprocedure, 'preprocedure', get_string('preprocedure', 'assignsubmission_metadata'),array('<br>'), false);

}

示例二:

object(stdClass)#181 (2) {
  ["preprocedure"]=>
      array(3) {
        ["demo1"]=>
           string(1) "1"
        ["demo2"]=>
           string(0) ""
        ["demo3"]=>
           string(1) "1"
}
 ["submitbutton"]=>
     string(12) "Save changes"

会给你:

$preprocedure=array();
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[1]','', 'Demo1', array('group' => 1), array('','demo1'));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[2]','', 'Demo2', array('group' => 1), array('','demo2'));
    $preprocedure[] =  $mform->createElement('advcheckbox', 'preprocedure[3]','', 'Demo3', array('group' => 1), array('','demo3'));
    $mform->addGroup($preprocedure, 'preprocedure', get_string('preprocedure', 'assignsubmission_metadata'),array('<br>'), false);

}

希望这有帮助。

此致

和Sandeep