Started my first CI project and am just wondering how I handle URL parameters? I have a controller named 'city', and I've modified my mod_rewrite so localhost/codeigniter uses rewrite to localhost/codeigniter/city. What I want to do is add a city name onto the end of the URL and use get segment to query a table.
So my example would be localhost/codeigniter/edinburgh. I would grab the last segment and then create the sql query. However I think when I put edinburgh into the URL CI thinks I'm looking for a controller called 'edinburgh'.
Do I have to add routing in or something similar?
Another method:
route.php:
city.php
You can indeed use routing to do this.
This will redirect EVERYTHING after your base url to the specified controller and method inside that controller. To get the url segments you can use the URI helper.
When accessing http://localhost/codeigniter/edinburgh the $city variable in above example would be edinburgh.
Hope that helps!
PS. You don't need mod_rewrite to specify a default controller. You can set it in your config.php under Routes. Specify city as your default controller and you can get rid of the mod_rewrite.
This will cause that City controller is called, method viewcity is executed with parameter that has value 'Edinburg' is passed!
Here is code for your controller...
Amen :)
Yes you can use a route:
But why don't you use a module called (for instance) city to get the classical uri scheme?
Edit: you can even choose city to be the default controller, in the global config file.