2016-11-04 77 views
0

这里是我有麻烦,我使用HMVC什么,我到目前为止有:插入表单数据到数据库使用CodeIgniter

routes.php文件

$route['create_qso'] = 'qso/create_qso'; 
$route['insert_qso'] = 'qso/insert_qso'; 

Qso_model.php模型

function add_qso($data){ 

    $data = array(
     'user_id' => $this->input->post('user_id'), 
     'date' => $this->input->post('date'), 
     'time_in_field' => $this->input->post('time-in-field'), 
     'discipline_id' => $this->input->post('discipline'), 
     'shift_id' => $this->input->post('shift'), 
     'type_id' => $this->input->post('type'), 
     'at_risk_category_id' => $this->input->post('at-risk'), 
     'at_risk_details' => $this->input->post('at-risk-details'), 
     'severity_level_id' => $this->input->post('severity-level')); 



    $this->db->insert('qso', $data);} 

create_qso.php VIEW

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

// logic for form begins  
    $user_id_val = $this->session->userdata('user_id'); 
    $user_username_val = $this->session->userdata('username'); 

    // discipline dropdown 
    $disciplines = $this->db->query('SELECT DISTINCT discipline_desc FROM discipline'); 
    $disciplinedropdowns = $disciplines->result(); 
    foreach ($disciplinedropdowns as $disciplinedropdown){ 
     $disciplinedropdownlist[$disciplinedropdown->discipline_desc] = $disciplinedropdown->discipline_desc; 
    } 
    $finaldisciplinedropdown = $disciplinedropdownlist; 

    // shift dropdown 
    $shifts = $this->db->query('SELECT DISTINCT shift FROM shift'); 
    $shiftdropdowns = $shifts->result(); 
    foreach ($shiftdropdowns as $shiftdropdown){ 
     $shiftdropdownlist[$shiftdropdown->shift] = $shiftdropdown->shift; 
    } 
    $finalshiftdropdown = $shiftdropdownlist; 

    // Type dropdown 
    $types = $this->db->query('SELECT DISTINCT type FROM type'); 
    $typedropdowns = $types->result(); 
    foreach ($typedropdowns as $typedropdown){ 
     $typedropdownlist[$typedropdown->type] = $typedropdown->type; 
    } 
    $finaltypedropdown = $typedropdownlist; 

    // At Risk dropdown 
    $atriskcats = $this->db->query('SELECT DISTINCT at_risk_cat FROM at_risk_cat'); 
    $atriskcatdropdowns = $atriskcats->result(); 
    foreach ($atriskcatdropdowns as $atriskcatdropdown){ 
     $atriskcatdropdownlist[$atriskcatdropdown->at_risk_cat] = $atriskcatdropdown->at_risk_cat; 
    } 
    $finalatriskdropdown = $atriskcatdropdownlist; 

    // severity_level dropdown 
    $severity_levels = $this->db->query('SELECT DISTINCT severity_level FROM severity_level'); 
    $severity_leveldropdowns = $severity_levels->result(); 
    foreach ($severity_leveldropdowns as $severity_leveldropdown){ 
     $severity_leveldropdownlist[$severity_leveldropdown->severity_level] = $severity_leveldropdown->severity_level; 
    } 
    $finalseverity_leveldropdown = $severity_leveldropdownlist;?> 

<div class="text-left"> 
<h1 class="fg-primary f900 text-uppercase">Create QSO</h1> 

</div> 
<div id="add_qso_form"> 
<?php echo form_open('create_qso/insert_qso'); 
echo form_hidden('user_id', $user_id_val); // hiding user id 
$date = date("Y-m-d H:i:s"); // getting date in mySQL format 
?> 
<div class="col-sm-6">  
    <div class="form-group"> <!-- adding read only date --> 
     <label for="date">Date</label> 
     <?php 
     $datedata = array(
      'name'   => 'date', 
      'id'   => 'date', 
      'value'   => $date, 
      'type'   => 'datetime', 
      'class'   => 'form-control', 
      'readonly'  => 'true' 
     ); 
     echo form_input($datedata); 
     ?> 
    </div> 
    <div class="form-group"> <!--Adding minutes observed--> 
     <label for="time-in-field">Minutes Observed</label> 
     <?php 
     $timeinfield = array(
      'name'   => 'time-in-field', 
      'id'   => 'time-in-field', 
      'value'   => '', 
      'type'   => 'number', 
      'min'   => '1', 
      'max'   => '480', 
      'class'   => 'form-control' 
     ); 
     echo form_input($timeinfield); 
     ?> 
    </div> 
    <div class="form-group"> <!--Adding discipline--> 
     <label for="discipline">Discipline</label> 
     <?php 
     $discipline_extras = array(
      'class' => 'form-control' 
     ); 
     echo form_dropdown('discipline',$finaldisciplinedropdown,'',$discipline_extras); 
     ?> 
    </div> 
    <div class="form-group"> <!--Adding shift--> 
     <label for="shift">Shift</label> 
     <?php 
     $shift_extras = array(
      'class' => 'form-control' 
     ); 
     echo form_dropdown('shift',$finalshiftdropdown,'',$shift_extras); 
     ?> 
    </div> 
    <div class="form-group"> <!--Adding type--> 
     <label for="type">Type</label> 
     <?php 
     $type_extras = array(
      'class' => 'form-control' 
     ); 
     echo form_dropdown('type',$finaltypedropdown,'',$type_extras); 
     ?> 

    </div> 
</div> 
<div class="col-sm-6"> 
    <div class="form-group"> <!--Adding At Risk Category--> 
     <label for="type">At Risk Category</label> 
     <?php 
     $at_risk_cat_extras = array(
      'class' => 'form-control' 
     ); 
     echo form_dropdown('at-risk',$finalatriskdropdown,'',$at_risk_cat_extras); 
     ?> 

    </div> 
    <div class="form-group"> <!--Adding At Risk Details--> 
     <label for="time-in-field">At Risk Details</label> 
     <?php 
     $timeinfield = array(
      'name'   => 'at-risk-details', 
      'id'   => 'at-risk-details', 
      'value'   => '', 
      'type'   => 'text', 
      'class'   => 'form-control' 
     ); 
     echo form_textarea($timeinfield); 
     ?> 
    </div> 
    <div class="form-group"> <!--Adding severity_level--> 
     <label for="severity_level">severity_level</label> 
     <?php 
     $severity_level_extras = array(
      'class' => 'form-control' 
     ); 
     echo form_dropdown('severity-level',$finalseverity_leveldropdown,'',$severity_level_extras); ?> 

    </div> 

</div> 
<div class="text-center"> 
<?php 
    echo form_submit('submit', 'Submit QSO'); 
    echo form_open('create_qso/insert_qso'); 
?> 

</div> 

</div> 

Create_qso.php控制器

class Create_qso extends Site_Controller 
{ 

public function __construct() 
{ 
    parent::__construct(); 
    //Transfers data to model 
    $this->load->model('Qso_model'); // load the model 

} 

public function index() { 
    // Quick Page setup is the same as $this->load->view() method used in CI 
    $this->quick_page_setup(Settings_model::$db_config['active_theme'], 'main', 'Create QSO', 'create_qso', 'header', 'footer'); 

    // Setting values for table coloums 

} 
public function insert_qso() { 

    $this->Qso_model->add_qso(); 
    $this->load->view('qso/insert_qso'); 

} 
} 

当我运行此,窗体显示伟大的,我可以输入数据,但是当我提交表单我得到这个:

http://versumgas.com/error_images/form-error.jpg

我无法弄清楚如何从表单中将数据插入到我的数据库的qso表中?

+0

我经历了codeigniter文档,看起来像我正确。我会尝试在单独的本地网站上阅读这篇文章,看看它是否有效......这应该比我做的更简单,但是由于我对codeigniter很陌生,因此我必须期待学习曲线。 :-( – tashworth19191

+0

无回复... :-( – tashworth19191

回答

1

你使用了什么类型的HMVC?

首先,这是我的HMVC文件夹: HMVC folder

我并不需要使用$route['method']来配置URL或视图。我只是在使用$this->load->view('account',$this->_data);的时候我想要加载视图,而account.php会放在application\modules\account\views

如果它不能连接并显示错误,可能问题应该是你的HMVC源码。我为我的项目使用了HMVC,编号为bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

第二个,在你的VIEW文件中,这是正确的吗?这里的表格是form_close,不是form_open,对不对?

<div class="text-center"> 
<?php 
    echo form_submit('submit', 'Submit QSO'); 
    echo form_open('create_qso/insert_qso'); 
?> 
</div> 

它应该是:

<div class="text-center"> 
<?php 
    echo form_submit('submit', 'Submit QSO'); 
    echo form_close('create_qso/insert_qso'); 
?> 
</div> 

我没有足够的信誉评论你的问题。所以请回复评论,我会检查并回复你。

相关问题