Codeigniter如何将值从视图传递到视图以更新DB记录

时间:2012-10-12 13:42:26

标签: php codeigniter view controller

我在这里有桌子

 <?php     if ( !empty($kirim) ) 
                      {  
                            $no = 1;   
                            foreach ($kirim as $row) { ?>  
                            <tr id="row">  
                             <td id="no"><?php echo $no;?></td>  
                             <td id="judul"><?php echo $row->Kode_Kategori_Material_Jasa;?></td>  
                             <td id="kategori"><?php echo $row->Nama_Material_Jasa;?></td>  
                             <td id="action"> Edit | Delete </td>
                         //idk how to pass the value for updating
                        //and using YES or NO DialogResult for deleting
                            </tr>  
                            <?php  
                             $no++;  
                            }  
                     } 
                     else { ?>  
            <tr id="row">  
            <td colspan="6" align="center">Tabel Kosong</td>  
            </tr>  
        <?php  
        }  
        ?>

我希望将Kode_Kategori_Material_JasaNama_Material_Jasa传递给另一个表单,这样我们就可以更新那里的值,并更新数据库记录。我已经制作了表单,我很困惑将值直接传递给更新表单。或者将它们传递给控制器​​,然后再将它传递给更新表格。

我在这里添加了一些代码

<td id="action"> <a href="<?php echo site_url('/c_kategorimaterial/ubah/').$row->Kode_Kategori_Material_Jasa/$row->Nama_Material_Jasa; ?> ">Edit </a>| Delete </td>                  

然后我收到了像Division by zero

这样的错误

3 个答案:

答案 0 :(得分:3)

最好以这种方式将它传递给控制器​​:myController / myFunction / Kode_Kategori_Material_Jasa / Nama_Material_Jasa,然后将其传递给包含表单的视图。

答案 1 :(得分:0)

我会将数据库功能保留在模型中,并使用控制器将它们传递给视图,因为这是系统的构建方式。 (MVC and Codeigniter) 我强烈反对你现在正在做的事情。

以下是我认为应该如何做的事情:

  • 通过您的控制器发送您的观看数据,验证它(as documented here)
  • 通过您的模型将数据存储在数据库中
  • 将此数据传递到并加载您的下一个视图

答案 2 :(得分:0)

我这样做的方法是使用POST或GET(取决于你的数据有多明智)。

使用GET:

<td id="action"> <a href="<?php echo(site_url('/c_kategorimaterial/ubah/').$row->Kode_Kategori_Material_Jasa."/".$row->Nama_Material_Jasa; ?> ">Edit </a>| Delete </td>

请注意,您在第一次和第二次回复."/".

之间错过了$row->Kode_Kategori_Material_Jasa

使用POST

  1. 在表单中定义一个字段,如:

    <input type="hidden" name="<?php echo ($row->Kode_Kategori_Material_Jasa);?>" value="<?php echo($row->Kode_Kategori_Material_Jasa);?>">
    
  2. 使用action=URL

  3. 检索目标控制器中的值(您在表单标记中设置的值$_POST