如何将复选框数据插入数据库codeigniter框架

我只想问如果它们具有相同的名称,我如何才能只保存 1 个复选框。


例如我有这个复选框,只有其中一个需要保存在我的桌子上


<input type="checkbox" name="loan" value="First Loan Application"> First Loan Application

<input type="checkbox" name="loan" value="Renewal"> Renewal

在我的桌子上,我有一个名为 loan


我可以这样做吗 controller


function insert_data(){

   $data = array(

     'loan' => $this->input->post('loan'),

      ....

   );

}

在我看来,我有这个


<form id="myForm" method="post" action="<?php echo base_url(); ?>main/insert_data">


<input type="checkbox" name="loan" value="First Loan Application"> First Loan Application

<input type="checkbox" name="loan" value="Renewal"> Renewal


</form>


如果我做得正确或者我遗漏了一些东西,有人可以帮助我。


繁华开满天机
浏览 197回答 2
2回答

梦里花落0921

当您希望用户仅选择一个选项时,使用单选按钮很容易,但如果您想为多选提供复选框,这是一种简单的方法。在您的输入类型复选框的 html 中,将 name 属性更改为这样的数组。&nbsp;<form method='post'><input type='checkbox' name='test[]' value='1'/>1&nbsp;<input type='checkbox' name='test[]' value='2'/>2&nbsp; <input type='checkbox' name='test[]' value='3'/>3&nbsp; <button type='submit' name='sub'>sub</button>&nbsp; </form>现在在文件的 php 部分使用 isset 函数检查这个测试数组if(isset($_REQUEST['sub'])){&nbsp; &nbsp; print_r($_REQUEST['test']);}在这里,当执行 print_r 语句时,您可以看到复选框中选中的值。现在您可以使用 implode 函数将数组转换为可以存储在数据库中的单个列中的字符串

狐的传说

正如M.Hemant所说,您应该使用单选按钮,因此用户只能选择其中一个。此外,您应该使用tinyint该列的类型来设计数据库。例如,0为First Loan Application、1为存储Renewal。然后,数据库将使用比 varchar 类型更少的空间,并且更容易建立索引。<input type="radio" name="loan" value="0"> First Loan Application<input type="radio" name="loan" value="1"> Renewal
打开App,查看更多内容
随时随地看视频慕课网APP