我是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的字段,但不确定如何执行此操作。
如果我拿走阵列,最后选择的阵列将进入布局。
任何帮助都会很棒。
答案 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));