如何从数据库中检查Checkbox Codeigniter?

时间:2014-10-21 01:46:52

标签: php mysql database codeigniter checkbox

我在这里遇到一些关于复选框的问题,如果可以通过在视图中使用此脚本来解决单选按钮

enter code here
   <input type="radio" name="jk" value="L" <?php echo set_radio('myradio', 'L', ($detail->jk == "L") ? TRUE : FALSE ); ?> >L

  <input type="radio" name="jk" value="P" <?php echo set_radio('myradio', 'P', ($detail->jk == "P") ? TRUE : FALSE ); ?>>P

但是对于复选框,为什么它不能通过使用此脚本来解决

enter code here

   <input type="checkbox" name="hoby" value="Lari" <?php echo set_checkbox('hoby', '($detail->hoby=="Lari")'); ?> />Lari

    <input type="checkbox" name="hoby" value="Berenang" <?php echo set_checkbox('hoby', '($detail->hoby=="Berenang")'); ?> />Berenang

我是Code Igniter的新人。

任何方式都非常感谢你的回答:D

2 个答案:

答案 0 :(得分:0)

试试这个:

<input type="checkbox" name="hoby" value="Lari" <?php echo set_checkbox('hoby', 'Lari')'); ?> />Lari

<input type="checkbox" name="hoby" value="Berenang" <?php echo set_checkbox('hoby', 'Berenang'); ?> />Berenang

要完全理解这个概念,请在CodeIgniter中查看以下有关表单助手的教程:https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

编辑 - 1:

我必须说,这是一个非常不明确的问题。

我能从您的问题中了解到,您打算根据选中/取消选中复选框将varchar值保存到数据库中???????好吧,我所知道的是,当您选中/取消选中复选框时,您只能保存{0}的booleaninteger值。

尝试使用javascript或jQuery。请将您的数据库列从varchar更改为int。复选框选中/取消选中时,您的php变量还应包含int值,而不是string

这可能会有所帮助:

查看:

   <input type="checkbox" id="hoby_l" value="1" 
   <?php 
   if ($hoby_Lary == 1) 
   { 
   ?> 
       checked = "true" 
   <?php 
   } 
   ?> onchange = "valueChanged()";
   />

  <input type="checkbox" id="hoby_b" value="1" 
  <?php 
  if ($hoby_Berenang == 1) 
  { 
  ?> 
      checked = "true" 
  <?php 
  } 
  ?> onchange = "valueChanged()";
  />

JavaScript的:

    function valueChanged() 
    {

        if(document.getElementById('hoby_l').checked == 'true')
        {


             document.getElementById('hoby_b').checked == 'false';
             return 1;
        }
        else
        {
              return 0;
        }

        if(document.getElementById('hoby_b').checked == 'true')
        {

             document.getElementById('hoby_l').checked == 'false';
             return 1;

        }
        else
        {
              return 0;
        } 

    }

诚恳的建议:在提问时你需要提高英语水平,否则社区很难帮助你。如果你无法正确解释你的问题,你怎么能期待帮助?

另一个真诚的建议:无论外观有多难,请不要试图避免使用用户指南。你现在还不明白它的重要性。但它将来会对你有很大的帮助。

答案 1 :(得分:0)

    if((int) $checked == 1){//do what you want}

    OR Try this

    create one funciton in your model file like this

    function get_checkbox_value($check) {

            for($i = 0; $i <= 6; $i++) {

                $result[$i] = '';

            }

            foreach($check as $chk) {

                for($i = 0; $i <= 6; $i++) {

                    if(($i+1) == $chk['ID']) {

                        $result[$i] = 'checked';

                        continue;

                    } 

                }

            }

            return $result;

        }
    and your view file call function like this


   <input type="checkbox" id="lari" name="hoby" value="2" <?php echo empty($check) ? '' : $check[1]; ?>/>