douhang8991 2019-02-23 05:51
浏览 66
已采纳

Codeigniter中的URI路由和参数

I am doing a project that when click the 'submit order' button, it will redirect to a successful message page. And the URL is [http://example.com/index.php/Ordering/Order] but I want the URL looks like [http://example.com/index.php/Ordering/Order/1], the number[1] is the id for order which is retrieve from database. Hope someone can helps me. Thank You.

Route.php:

$route['Ordering/Order/(:num)'] = 'Ordering/IdForRoute/$1';

Controller:

public function IdForRoute(){
    $data['id'] = $this->order->GetId($id);
 if (this->uri->segment(3) === FALSE){
    $data['id'] = 0;
 } else{
    $data['id'] = $this->uri->segment(3);
 }
}

Model:

public function GetId($id = 0){ 
   if ($id === 0) {
     $query = $this->db->get('order');
     return $query->result_array();
   }

   $query = $this->db->get_where('order', array('id' => $id));
   return $query->row_array();
}
  • 写回答

1条回答 默认 最新

  • dongmou1964 2019-02-23 06:48
    关注

    I think you should change your controller to this:

    public function IdForRoute(){
    
         if (this->uri->segment(3) === FALSE){
             $id = 0;
             $data['returnedvaluefrommodel'] = $this->order->GetId($id);
          } else{
             $id = $this->uri->segment(3);
             $data['returnedvaluefrommodel'] = $this->order->GetId($id);
    
         }
     }
    

    You can echo returnedvaluefrommodel on your view based on the returned value from your model.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?