2016-05-13 11:26 阅读 46


I am creating a site using codeigniter with a controller process.php. In its index function it gets a list of countries from my db and lists in in my view with a hyperlink to each country. I would like each link to have a hyperlink of http://localhost/process/$countrycode where $countrycode is dependent on the country being clicked.

How do i create a method to have a link such as: http://localhost/process/us for united states http://localhost/process/ca for canada

the method will perform a task based on the country.

From what i understand with codeigniter urls, it is but what i would like to achieve is not to include the function in the URL

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dongshan6870 dongshan6870 2016-05-13 12:57

    add the new route in your file route.php like this

    $route['add_route_name'] = 'controller/function';

    if you want to pass parameters use it like this

    $route['add_route_name/(:any)'] = 'controller/function';

    for integer

    $route['add_route_name/(:num)'] = 'controller/function';

    in codeigniter 3 use /(.*) for (:any) because the (:any) is not work for All parameters

    For example if you want to pass the parameters like this


    in the above url I'm passing 3 parameters which is not getting with (:any) but whit /(.*) I'm getting the Array of the 3 parameters.

    use it like this.

    $route['add_route_name/(.*)'] = 'controller/function';
    点赞 评论 复制链接分享
  • dre93205 dre93205 2016-05-13 12:47

    as far as i understand from your question, you should load view and pass countries to this view as $this->load->view('view_name',$array('countries'=>$countries_from_db)); then in view when you fill dropdown for example you will do the following:

    <?php foreach($countries as $count): <a href ='localhost/process/<?=$country_id?>'><?= $country_name?></a>}
    <?php endforeach;?>

    i wish it helps you :)

    点赞 评论 复制链接分享