php-如何显示用户从表单构建器中选择的带有字段名称和字段类型的最后一个字段?
作者:互联网
我正在制作表单生成器,并且有一个输入字段,称为“名字”,“姓氏”,“电子邮件”,“同意”.无论用户从表单构建器页面选择该字段,单击按钮后,所有元素都将存储在数据库中.
就像我从表单构建器页面中选择元素名字,姓氏,电子邮件和iagree并保存它一样.在数据库中,它将像下面的示例一样存储
现在,我更新了表单生成器,并更改了表单元素.显示如下图所示.
使用下面的查询,我正在更新最后一条记录
SELECT form_id,form_elements,form_builder_type, update_date FROM `form_builder` WHERE form_id=1 AND form_builder_type='example' ORDER BY update_date DESC LIMIT 1
以上查询的输出
现在,我有了第二个表,其中包含字段名称和字段类型
我必须同时加入表以获取字段名称和元素的类型.
现在,我必须使用字段名称和字段类型显示表单生成器的最后一个元素.我的意思是它将显示姓氏和带有字段类型的电子邮件.
我正在使用我的控制器CodeIgniter
$inst_id=1;
$result['data']=$this->formbuilder_Model->check_example_form_builder_fields($inst_id);
$this->load->view('user-form',$result);//passing elements to the view page
视图
foreach ($data as $key) {
$exp_fields_name=$key->fields_name;
$exp_fields_type=$key->fields_type;
$exp_form_elements=$key->form_elements;
$abc=explode(',',$exp_form_elements);
foreach ($abc as $value) {
if ($exp_fields_name == $value) {?>
<div class="form-group row label-capitals">
<label class="col-sm-5 col-form-label"><?php echo $exp_fields_name;?></label>
<div class="col-sm-7">
<input type="<?php echo $exp_fields_type;?>" name="<?php echo $exp_fields_name;?>" placeholder="<?php echo $value;?>" class="form-control" />
<?php echo form_error($exp_fields_name); ?>
</div>
</div>
<?php
}}}?>
我需要类似的输出
<label>Lastname</label>
<input type="text" name="lastname">
<label>Email</label>
<input type="email" name="email">
您能帮我这个忙吗?
解决方法:
与其将form_elements存储在fom_builder表中,不如存储它们各自的ID,然后使用类似这样的查询
从form_builder中选择form_elements_id,在form_id = 1且form_builder_type =’example’的命令ORDER BY update_date DESC LIMIT 1
一旦获得所有表单元素Id,就将其内爆并将其转换为数组,并使用whereIn子句从第二个表获取数据.
标签:html,codeigniter-3,php,mysql,formbuilder 来源: https://codeday.me/bug/20191010/1884671.html