如何使复选框项创建列表

时间:2017-11-15 03:25:10

标签: php codeigniter checkbox filemaker

我是PHP新手,我正在处理的项目是一个codeigniter php表单,写回FileMaker数据库。

复选框应填充为列表字段。

这是我的表格

<input name="fieldname[]" value="value1"<?php echo (set_checkbox('fieldname', $join->fieldname))?> type="checkbox" class="form-check-input"> value1
<input name="fieldname[]" value="value2"<?php echo (set_checkbox('fieldname', $join->fieldname))?> type="checkbox" class="form-check-input"> value2

大约有7个复选框。

我认为我必须设置foreach循环才能让它考虑到FileMaker的字段,但不确定如何执行此操作。

如果我拿走阵列,最后选择的阵列将进入布局。

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:0)

据推测,这些值会反映FileMaker中的valueList。如果是这样,最好将valueList分配给变量:

$values = $layout->getValueList('pizzaToppings');

在你的for循环中使用它:

foreach($values as $value)...

在if(isset())块中,将返回分隔的数组发布到FileMaker:

// value(s)!
if ($_POST['fieldname']) {
    $valueArray = implode("\r", $_POST['fieldname']);
}

// pass the array to setField()
$record->setField('filemakerField', $valueArray);

答案 1 :(得分:0)

我解决了这个问题。要将复选框输入到返回分隔列表中:

查看

在该部分的顶部,带有复选框

<?php $join->fieldname = explode("\n", $join->fieldname); ?>

// The actual input in the form
<input name="fieldnameXX[checkboxValue]" value="value" <?php echo (in_array('value', set_value('fieldname[value]', $join->fieldname)) ? ' checked="checked"': '')?> type="checkbox" class="form-check-input" > Value

<强>工厂:

$fieldnameZZ = $data['fieldnameXX'];
$data['fieldnameXX'] = FALSE;
unset($data['fieldnameXX']);
$sacraments = implode("\n", $fieldnameZZ);
$data['fieldname'] = $fieldnameZZ;

我不确定这是否是完成它的最佳方式,但它确实有效。

答案 2 :(得分:-1)

    $ids=implode(",", $_REQUEST["fieldname"]);
    $result3=mysqli_query($dbh,'SELECT* FROM excel_tenant WHERE ID IN ("' . 
    $ids .    '") AND
    ManagerID =  "'.$_SESSION["ManagerID"].'" ORDER BY ID DESC ') or 
    die(mysqli_error($dbh));