我在codeigniter中创建一个应用程序。当我从模型到控制器点击提交按钮时,我试图传递存储在变量中的值。
我怎样才能做到这一点?到目前为止,我已尝试过以下代码:
model.php
public function loadadd($mekhala_Id) {
echo form_open('Payment/amount($count)');
$query = $this->db->get_where('tb_unit', array('mandalam_Id' => $mekhala_Id));
echo $count= $query->num_rows();
?>
<h1>Members List</h1>
<table border="1">
<tr>
<th>Unit</th>
<th>Unit Secretary</th>
<th>Amount paid</th>
</tr>
<?php
foreach ($query->result() as $row)
{
//$i=1;
?>
<tr>
<td> <?php echo $row->unitName ;?></td>
<td> <?php echo $row->unit_sec ;?></td>
<td> <?php echo form_input(array('name'=>'na','placeholder'=>'Rupees Paid')) ;?></td>
<td><?php echo form_checkbox(array('name'=>'check','value'=>'paid')) ; ?></td>
</tr>
<?php
// $i++;
}
// echo $query->result();
echo form_submit(array('name'=>'sub','value'=>'submit'));
echo form_close();
}
public function loadpayment($paid,$count){
for($i=1;$i<=$count;$i++)
{
$a='na'.$i;
$paid=array($this->input->post($a));
$this->db->insert('tb_unit',array('Amount'=> $paid));
}
}
}
?>
controller.php public function amount($count) {
$paid=$this->input->post('na');
$this->cms_model->loadpayment($paid,$count);
}
正在显示以下代码:
遇到错误
您提交的URI不允许使用字符。
答案 0 :(得分:0)
我认为你应该再次阅读模型,视图和控制器的主要思想。 模型的想法只适用于数据库。您不在模型中使用form_open()或其他html,这应该在视图中完成。 This tutorial显示了更多详细信息。
要使用提交传递值,您可以使用表单中的隐藏字段显示为here。
要在单击提交按钮时传递变量中的数据:您可以将变量设置为值属性:echo form_submit(array('name'=>'sub','value'=>"$variable"));