【问题标题】:how i pass multiple variables from view to controller in codeigniter我如何在codeigniter中将多个变量从视图传递到控制器
【发布时间】:2015-08-07 07:47:19
【问题描述】:

我想将 3 个变量从视图传递到控制器。我将如何使用 site_url 传递这些,

我的查看页面

foreach ($query2 as $row2) {
    $id = $row2->id;
    $month = $row->month;
    $year = $row->year;
}
<td><a href = "/money_c/updatemanual?var1=<?php echo $id;?>&var2=<?php echo $month;?>">insert</a></td>

控制人money_c

function updatemanual($id, $month, $year) {

}

这里$id,$month,$year如何取这个变量?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    在控制器中

    function abc($a,$b,$c){
    // access the variables here
    
    }
    

    在视图中

    <td><a href="<?= base_url("/money_c/updatemanual/$id/$month/$year") ?>">insert</a></td>
    

    在控制器中调用视图时,传递类似的值

    $data['id'] = $id;
    $data['month'] = $month;
    $data['year'] = $year;
    

    【讨论】:

      【解决方案2】:

      你可以用这个

      <a href='".base_url()."money_c/updatemanual/$id/$month/$year'>insert </a>
      

      然后通过控制器函数传递变量

      喜欢这样

         function updatemanual($id, $month, $year)
         {
      
         }
      

      或者你可以在函数中使用这个

             $id=$this->uri->segment(3);
             $month=$this->uri->segment(4);
             $year=$this->uri->segment(5);
      

      【讨论】:

        【解决方案3】:

        您的控制器应如下所示:

        function updatemanual()
        {
        
            $id = $this->input->get("var1");
            $month = $this->input->get("var2");
        
        }
        

        【讨论】:

          【解决方案4】:

          用户在代码下方。希望它会帮助你。

          foreach($query2 as $row2) {
          
            $id=$row2->id;
            $month=$row->month;
            $year=$row->year;
          }
           <td><a href="<?=base_url()?>/money_c/updatemanual/<?php echo $id;?>/<?php echo $month;?>/<?php echo $year;?>">insert</a></td>
          

          【讨论】:

            【解决方案5】:

            修改如下

            <?php 
                foreach($query2 as $row2){
                $id=$row2->id;
                $month=$row->month;
                $year=$row->year;
            ?>
                <td><a href="/money_c/updatemanual/<?php echo $id;?>/<?php echo $month;?>/<?php $year; ?> ">insert</a></td>
            <?php } ?>
            

            这将作为该控制器功能的 $id、$month 和 $year 变量提供

            【讨论】:

            • 显示错误 在此服务器上找不到请求的 URL /moneymanager_bank6_8_15/money_c/updatemanual/527/August/2015。
            • 你需要在 congig 中设置你的基本 url 并删除 index.php 并且 mod_rewrite 应该是 on 并且 money_c 应该是控制器名称和 updatemanual 将是函数名称。如果所有这些都已设置,则在此处粘贴错误消息。
            【解决方案6】:

            我尝试了这种方法,它对我有用: &lt;a href="&lt;?php echo site_url ('money_c/update_manual/'. $id.'/'.$month.'/'.$year)&gt;insert &lt;/a&gt;

            【讨论】:

              【解决方案7】:

              你可以试试这个:

              <a href="<?php  echo base_url('test/index/'.$category_list[$i]['category_id'].'/'.str_replace(' ', '-',$category_list[$i]['category_name']));?>">
              
              public function index($category_id = '',$category_name = '){
                echo $category_id .$category_name ;
              }
              

              【讨论】:

                【解决方案8】:

                在 foreach 中将变量放入数组中,然后将数组传递给控制器​​,如下所示

                foreach ($query2 as $row2) {
                    $var=array(
                        'id'=>$row2->id,
                        'month'=>$row2->month,
                        'year'=>$row2->year
                    );
                
                }
                <td><a href="<?php echo base_url('money_c/updatemanual/'.$var); ?>">insert</a></td>
                

                【讨论】:

                  猜你喜欢
                  • 2015-10-31
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-12-31
                  • 2012-08-30
                  • 2020-02-17
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多