2012-08-14 79 views
0

如果選擇了「是」,但是如果選擇「否」,會造成一些麻煩,我有以下控制器可以正常工作。下拉菜單不說沒有

我怎麼能使其插入「無」到數據庫?**

**我已經試圖讓它說不加ELSEIF!

控制器:

public function add() 
{ 

    $this->form_validation->set_rules('add_fields_name', 'Name', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('add_fields_value', 'Value', 'trim|xss_clean'); 
    $this->form_validation->set_rules('add_fields_class', 'Class', 'trim|xss_clean'); 
    $this->form_validation->set_rules('add_fields_placeholder', 'Placeholder', 'trim|required|xss_clean|callback_dropdown_check'); 
    $this->form_validation->set_rules('add_fields_type', 'Type', 'trim|required|xss_clean|callback_dropdown_check'); 



    if($this->form_validation->run() == FALSE) 
    { 
     $data['validation_errors'] = validation_errors('<div class="alert alert-error">', '</div>'); 
     $data['contentMangement'] = $this->options_model->systemOptions(); 
     $data['pageTitle'] = 'Add Fields'; 
     $this->load->view('_assets/dashHeader', $data); 
     $this->load->view('dashboard/add_fields', $data); 
     $this->load->view('_assets/footer');  


    }else{ 

     $fieldName = $this->input->post('add_fields_name', TRUE); 
     $fieldClass = $this->input->post('add_fields_class', TRUE); 
     $fieldValue = $this->input->post('add_fields_defaultValue', TRUE); 

     //Dropdown Placeholder 
     $dropdown = $this->input->post('add_fields_placeholder', TRUE); 

     if($dropdown =='yes') 
     { 
      $dropdown_value = $this->input->post('add_fields_placeholderValue', TRUE); 
     } 
     else($dropdown == 'no') 
     { 

     } 

     //Removes Caps & spaces 
     $fieldNameStripped = strtolower(str_replace(" ", "", $fieldName)); 
     $fieldValueStripped = strtolower(str_replace(" ", "", $fieldValue)); 
     $fieldClassStripped = strtolower(str_replace(" ", "", $fieldClass)); 
     //Default Form Details 

     $fieldLabel = '<label for="'. $fieldNameStripped . '">'. $fieldName. '</label>'."\n"; 

     $formData = array(
          'name' => ''.$fieldNameStripped.'', 
          'id' => ''.$fieldNameStripped.'', 
          'value' => ''.$fieldValueStripped.'', 
          'class' =>''.$fieldClassStripped.'', 
          'placeholder' => ''.$dropdown_value.'' 
         ); 


     if (isset($_REQUEST['add_fields_type'])) 
     { 
      if($_REQUEST['add_fields_type'] == 'input') 
      { 
       $fieldField = form_input($formData, TRUE); 
      } 

      if($_REQUEST['add_fields_type'] == 'textarea') 
      { 
       $fieldField = form_textarea($formData, TRUE); 
      } 

      if($_REQUEST['add_fields_type'] == 'radiobutton') 
      { 
       $fieldField = form_radio($formData, TRUE); 
      } 

      if($_REQUEST['add_fields_type'] == 'checkbox') 
      { 
       $fieldField = form_checkbox($formData, TRUE); 
      } 

      $fieldTypeInsert = array(
            'name' => ''.$fieldName.'', 
            'class' => ''.$fieldClass.'', 
            'value' => ''.$fieldValue.'', 
            'placeholder' => ''.$dropdown.'', 
            'placeholder_value' => ''.$dropdown_value.'', 
            'type' => ''.$_REQUEST['add_fields_type'].'', 
            'label' => ''.$fieldLabel.'', 
            'field' => ''.$fieldField.'' 
            ); 

      $this->field_model->insertField($fieldTypeInsert); 

      $data['validation_errors'] = '<div class="alert alert-success"><strong>Thank You</strong> Your Field Has Been Added</div>'; 
      $data['contentMangement'] = $this->options_model->systemOptions(); 
      $data['pageTitle'] = 'Add Fields'; 
      $data['fieldType'] = $this->input->get('add_fields_type'); 
      $data['placeholderType'] = $this->input->get('add_fields_placeholder'); 
      $this->load->view('_assets/dashHeader', $data); 
      $this->load->view('dashboard/add_fields', $data); 
      $this->load->view('_assets/footer');  

     } 
    } 
}  

查看:

<label for="add_fields_placeholder">Placeholder: </label> 
    <select name="add_fields_placeholder" id="add_fields_placeholder"> 
     <option value="">Please Select</option> 
     <option value="yes" <?php echo set_select('add_fields_placeholder','yes', (!empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE));?>>Yes</option> 
     <option value="no" <?php echo set_select('add_fields_placeholder','no', (!empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE));?>>No</option> 
    </select> 

回答

3

好吧,首先擺脫

$dropdown = ''; 

因爲這重置你的價值,所以它贏得不保持是或不是

其次,無論是

if($dropdown = 'yes') 
else($dropdown = 'no') 

需要使用==,而不是==用於ASIGN的值給變量,==用於比較值。

你做出這些改變後是否有效?

編輯:你不能使用別的,然後添加另一個條件。要麼你只是需要使用

else { 

,或者使用其他

if($dropdown == 'no') { 

編輯:爲了清晰和信息,你在你的,如果公司做跟單=不問它是否等於肯定否則,你是製作它等於,並詢問你是否能夠

+0

謝謝你,我現在有我的代碼http://d.pr/i/6zJx但我得到解析錯誤:語法錯誤,意外「{」對的開否則 – 2012-08-14 05:25:44

+0

這仍然是不正確的,它應該是如果($ dropdown =='是')和其他($ dropdown =='no'),並且我不能修復你的語法錯誤,如果你不顯示你的整個代碼 – 2012-08-14 05:28:34

+0

已更新控制器,它似乎不喜歡其他 – 2012-08-14 05:31:30