donglin5770 2016-04-23 09:36
浏览 32
已采纳

使用搜索字词更改codeigniter中的网址

I have links like this

http://example.com/search/texas

I want it to route to a controller search and the URL should be

http://example.com/schools-in-texas

What I have done so far

On route

$route['search/(:any)'] = "search"; //search is a controller

On search controller I get the town name texas using

$x = $this->uri->segment(2);

I want to query the database and use the result to open a search template with the url being http://example.com/schools-in-texas where texas is the search term.

I redirect to the url but doesn't load the data from database so it's not working as expected.

$url = $this->uri->segment(2);
redirect('schools-in-'.$url, 'refresh');

Can someone provide any idea how to achieve this?

  • 写回答

1条回答 默认 最新

  • douchen7366 2016-04-23 09:58
    关注

    try this for routing

    $route['schools-in-(:any)'] = 'search';
    

    This will take into Search controller when your URL will be like http://example.com/schools-in-texas

    And to get the word texas from URL (for search term) now you may use

    $state_name = substr($this->uri->segment(1), strrpos($this->uri->segment(1), '-') + 1);
    

    now $state_name will output as texas if you URL http://example.com/schools-in-texas

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

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接