Codeigniter中的URI路由和参数

时间:2019-02-23 05:51:14

标签: php codeigniter

我正在做一个项目,当单击“提交订单”按钮时,它将重定向到成功的消息页面。 URL是[http://example.com/index.php/Ordering/Order],但我希望URL看起来像[http://example.com/index.php/Ordering/Order/1],数字[1]是从数据库中检索的订单ID。 希望有人可以帮助我。谢谢。

Route.php:

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

控制器:

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);
 }
}

型号:

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 个答案:

答案 0 :(得分:0)

我认为您应该将控制器更改为此:

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);

     }
 }

您可以根据模型返回的值在视图中回显returnedvaluefrommodel