2012-03-27 1 views
0

Мои маршруты язык приводом и выглядеть следующим образом mydomain.com/enCodeigniter: Как я могу создать URI с базами данных?

$route['default_controller'] = "home"; 
$route['404_override'] = ''; 
$route['(\w{2})/(.*)'] = '$2'; 
$route['(\w{2})'] = $route['default_controller']; 

, но у меня есть содержимое базы данных, которые я хотел бы быть в URI после языка mydomain.com/jp/the -slug в своем-японско-странице

у меня есть таблица с именем сообщений и содержат строки с содержанием названия, слизнями и языками, готовыми идти, но я не до конца понимает, как редактировать мой дом чтобы проверить, поступает ли URI из базы данных.

Вот мой домашний контроллер.

class Home extends CI_Controller { 

    function __construct() 
    { 
    parent::__construct(); 
    } 
    public function index($title = '') { 
     if(strlen($url)) { 
     /* get content by title from DB */ 
     $data['url'] = $url; 
     $this->load->view('user_home', $data); 
     } 
    } 
} 

ответ

0

Не уверен, что если я полностью понимаю ваш вопрос, но я думаю, что вы хотите найти URI в вашем базы данных, это очень просто:

function index() 
{ 
    $needle = $this->uri->segment(2); 
    $this->db->where('slug', $needle); 
    $this->db->from('table_name'); 
    if($this->db->count_all_results() > 0) 
    { //here the uri exists in your database } 
    else 
    { //here don't } 
} 

¿Это может быть то, что вам нужно?

(разумеется, что код должен быть в модели, а не в контроллере, чтобы сохранить MVC в CodeIgniter)

0

Вы можете написать, как это в контроллере

public function index($title = '') { 

     if(strlen($url)) { 
     /* get content by title from DB */ 
     /* load content view */ 
     } 
    /* load index view */ 

} 

Маршруты

$route['default_controller'] = "home"; 
$route['404_override'] = ''; 
$route['(\w{2})/(:any)'] = $route['default_controller'].'/index/$2'; 
$route['(\w{2})'] = $route['default_controller']; 
+0

я получил ошибку PHP ** Сообщение: Undefined переменной: URL ** – Tiny

+0

Обновлено, пожалуйста, проверьте снова – safarov

+0

Спасибо, но это не так. $ url не определен. Кроме того, я не хочу, чтобы он маршрутизировался, хотя в папку с именем/index/ – Tiny