视图:(在内部视图中,transaction_particular_name不为空)
<form method="post" action="<?php echo base_url().'user/add_transaction'; ?>">
<div class="container">
<label for="uname"><b>Purpose of Fee's</b></label>
<select name="transaction_particular_name">
<?php foreach($all_particular as $key){ ?>
<option value="<?php echo $key->particular_name; ?>"><?php echo $key->particular_name; ?></option>
<?php } ?>
</select>
<button type="submit">Proceed</button>
</div>
</form>
Controller(User):(只需调用模型)
public function add_transaction()
{
$query=$this->Mdl_data->insert_transaction();
}
Model(Mdl_data):(在模型内部,该属性为null)
public function insert_transaction()
{
$tablename='transaction';
$columns_and_fields = array('transaction_particular_name');
foreach ($columns_and_fields as $key)
$data[$key]=$this->input->post($key);
$query=$this->db->insert($tablename,$data);
return $query;
}
请帮助任何人,我想摆脱它。
答案 0 :(得分:0)
您的代码有太多错误...尝试此操作..它只会将您添加到字段..中,而不会出现任何错误... 在控制器上
// $data = $this->input->post('transaction_particular_name');
$data = $_POST['transaction_particular_name'];
if($data){
$query=$this->Mdl_data->insert_transaction($data);
} else {
echo "unable to capture data... "
}
和型号
public function insert_transaction($data = '')
{
$tablename='transaction';
$columns_and_fields = array('transaction_particular_name'=>$data);
$this->db->insert($tablename,$columns_and_fields);
}
答案 1 :(得分:0)
首先,了解 Model-View-Controller 的工作方式
第二,<select name="transaction_particular_name">
在循环内
尝试像这样
<select name="transaction_particular_name[]">
您的数据将在Controller中获取,而不是在模型中获取
控制器
$transaction_particular_name
将以数组形式使用foreach
循环插入
public function add_transaction()
{
foreach($transaction_particular_name as $trans){
$data = array('transaction_particular_name' => $trans);
$query=$this->Mdl_data->insert_transaction($data);
}
}
模型
public function insert_transaction($data)
{
return $this->db->insert('transaction', $data);
}