关于php:如何使用字段名称和字段类型显示用户从表单构建器中选择的最后一个字段?
How to display the last field which is user selected from form builder with the field name and field type?
我正在制作表单构建器,并且我有一个输入字段,称为名字、姓氏、电子邮件、同意。无论用户从表单构建器页面选择字段,单击按钮后所有元素都将存储在数据库中。
就像我从我的表单构建器页面中选择元素 Firstname、Lastname、Email 和 iagree 并保存它一样。在数据库中,它将像下面的示例一样存储
现在我更新表单构建器并更改表单元素。如下图所示。
1
|
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
|
上述查询的输出
现在我有了第二个带有字段名称和字段类型的表
1 2 3
|
$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
|
查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
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) {?>
<label class="col-sm-5 col-form-label"><?php echo $exp_fields_name;?></label >
<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); ?>
<?php
}}}?>
|
我需要像
这样的输出
1 2 3 4 5
|
<label >Lastname </label >
<input type ="text" name ="lastname">
<label>Email</label> <input type="email" name="email"> |
你能帮我解决这个问题吗?
- 您可以在爆炸后使用 end($abc) 以获取最后一个元素…如果那是您正在寻找的东西? php.net/结束
-
@Dale,不,我需要一个输出,就像用户选择将在具有输入类型的视图中显示的元素一样。
与其将form_elements存储在fom_builder表中,不如存储它们各自的id,然后使用类似这样的查询
SELECT form_elements_id FROM form_builder WHERE form_id=1 AND form_builder_type=’example’ ORDER BY update_date DESC LIMIT 1
一旦你获得了所有的表单元素,Id 将其内爆并将其转换为数组并使用 whereIn 子句从第二个表中获取数据。
- 感谢 Nilesh 先生的回复,但您的上述查询将仅显示最后一条记录。我需要最后一条记录以及第一个表的表单元素应该在第二个表中进行比较
-
我的意思是使用您的查询我得到了一个输出、名字和姓氏。现在我必须检查第二个表中可用或不可用的字段(如果可用)然后显示字段名称和字段类型
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268474.html