【发布时间】:2016-11-04 18:04:25
【问题描述】:
这是我遇到的问题,我正在使用 HMVC,到目前为止:
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 查看
<?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 表中?
【问题讨论】:
-
我浏览了 codeigniter 文档,看起来我做对了。我将尝试在一个单独的本地站点上浏览教程,看看它是否有效......这应该比我做的简单得多,但由于我是 codeigniter 的新手,所以我必须期待学习曲线。 :-(
-
没有回复... :-(
标签: database forms codeigniter insert