2017-10-10 13 views
0

폼 빌더를 만들고 있는데 Firstname, Lastname, Email, Iagree라고하는 입력 필드가 있습니다. 사용자가 양식 작성기 페이지에서 필드를 선택하는 경우 버튼을 클릭하면 모든 요소가 데이터베이스에 저장됩니다.폼 빌더에서 사용자가 마지막으로 선택한 필드를 필드 이름과 필드 유형으로 표시하는 방법은 무엇입니까?

마찬가지로 양식 작성기 페이지에서 Firstname, Lastname, Email 및 iagree 요소를 선택하고 저장했습니다. 데이터베이스에 아래 예제와 같이 저장됩니다. enter image description here

이제 폼 빌더를 업데이트하고 양식 요소를 변경합니다. 아래 그림과 같이 표시됩니다. 나는 필드 이름과 함께 두 번째 테이블이

enter image description here

이제

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 

업데이트 마지막 레코드 위의 쿼리의 출력을 얻고 쿼리 아래 사용

enter image description here

필드 유형

enter image description here

요소의 필드 이름과 유형을 가져 오려면이 두 테이블을 모두 조인해야합니다.

이제 폼 빌더의 마지막 요소를 필드 이름과 필드 형식으로 표시해야합니다. 내 말은 필드 이름으로 이메일과 성을 표시합니다. 내가 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"> 

같은 출력이 나를 도와겠습니까 필요하십니까?

+0

당신이 마지막 요소를 얻기 위해 그것을 폭발시킨 후에'end ($ abc)'를 사용할 수 있습니다 ... 그것이 당신이 찾고있는 것이라면? http://php.net/end – Dale

+0

@Dale, 아니요, 입력 유형이있는보기에 표시 될 요소를 사용자가 선택하는 것과 같은 출력이 필요합니다. –

답변

1

오히려 fom_builder 테이블 form_elements를 저장하기보다는 각각의 ID를 저장하고 form_builder FROM이

SELECT form_elements_id 추천 검색어 것을 사용 WHERE form_id = 1 AND UPDATE_DATE 내림차순 LIMIT BY form_builder_type = '예'ORDER 1

일단 모든 양식 요소를 얻으면이 코드를 implode하여 배열로 변환하고 whereIn 절을 사용하여 두 번째 테이블에서 데이터를 가져옵니다.

+0

답장을 보내 주셔서 감사합니다 Mr.Nilesh,하지만 위의 쿼리는 마지막 레코드 만 표시합니다. 마지막 레코드뿐만 아니라 두 번째 테이블에서 첫 번째 테이블의 양식 요소를 비교해야합니다. –

+0

쿼리를 사용하면 출력, 이름 및 성을 얻을 수 있습니다.이제 사용 가능한 경우 두 번째 표에서 사용 가능한 입력란을 확인한 다음 입력란 이름과 입력란 유형을 표시해야합니다. –