【问题标题】:Get checked checkbox values in codeigniter在 codeigniter 中获取选中的复选框值
【发布时间】:2017-03-03 18:33:23
【问题描述】:

我是 Codeigniter 的新手。我想知道如何获取选中的复选框值。我经历了各种答案,但无法解决。

我将数据库表中的值显示为复选框值。

我的复选框查看代码:

<?php foreach($g->result() as $grp) { ?>
<input type="checkbox" name="mycheck[]" value="<?php  echo $grp->group_id; ?>"<?php echo set_checkbox('mycheck', '$grp->group_id;' ); ?> /><?php  echo $grp->group_name; ?>

我不知道如何只获取 controller 以及 model 中的检查值(即 group_id)以将其插入数据库中的另一个表中。 .

请帮忙。

【问题讨论】:

  • 解决了吗??
  • 是的,谢谢你的提问。

标签: php codeigniter checkbox


【解决方案1】:

在你看来

   <?php 
   foreach($g->result() as $grp) 
   { 
   ?>
      <input type="checkbox" name="mycheck[]" value="<?php echo $grp->group_id; ?>">
   <?php 
   } 
   ?>

现在在你的控制器功能中

if(!empty($this->input->post('mycheck')))
 {
foreach ( $this->input->post('mycheck') as $obj)
    {
        $mycheck[]= $obj; 
    }
 }
 $returnvalue = $this->modelname->samplefn($mycheck); // pass value to model fn

现在在你的模型函数中使用 where_in 而不是下面的 where

function samplefn($mycheck)
    {
       $query = $this->db->select('*')
                    ->from('tablename')
                    ->where_in('checkboxcol', $mycheck)
                    ->get();

       if($query->num_rows()>0)
       {
        // echo $this->db->last_query()."<br>";
        return $query->result();  // return an array of objects
       }
       else
       {
        return null;
       } 
    }

在数据库中插入多个值

 function samplefninsert()
    {
      $checkboxes = $this->input->post('mycheck');
      foreach($checkboxes as $obj)
      {
         $this->db->insert('yourtablename',array('yourcheckboxfieldname'=>$obj));
      }
    }

【讨论】:

  • 感谢您的回复。我还需要知道如何将“returnvalue”中的值存储在另一个表中。我厌倦了使用两种方法打印值'returnvalue' 1)简单地在视图中打印返回值 2)通过在控制器和中给出:“$returnvalue['i'] = $this->modelname->samplefn($mycheck)查看:result() as $id) { ?> 。但它显示错误
  • @Anna 试试这个 yourfieldname ; ?> 在你看来
  • 是的,它正在工作:) 但它只取一个值。它不采用多个复选框值。我需要那个。你能帮忙@geordy 吗?
  • @Anna 我编辑了代码以包含插入方法。我还更新了选择函数(使用 $query->result() 代替 $query->row() 因为 row() 只能返回一个值)
  • 显示错误:stdClass 类的对象无法转换为字符串。否则你能告诉我如何在另一个视图中打印 $mycheck 中的值(在我的例子中是 group_id)。或者如何获取 $mycheck 中的值。 $mycheck 得到了选中复选框的所有值。
【解决方案2】:

如果您的表单已成功提交,您应该会在控制器中看到一组数据

$this->input->post_get()

在你的情况下寻找

$this->input->post_get('mycheck') 

查看 CodeIgniter Input Class 的文档了解更多信息。

【讨论】:

  • 感谢您的回复
  • 因为我对框架非常陌生。我无法实现你的
猜你喜欢
  • 2013-11-14
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
相关资源
最近更新 更多