Codeigniter URL: Anzeige-id und eine Artikel Titel in der URL
Finden Sie in der folgenden link-Struktur
http://stackoverflow.com/questions/10672712/voting-system-like-stackoverflow
In dem oben genannten link die 10672712
ist die Frage-id denke ich mal, denn wenn Sie überprüfen Sie den folgenden link gelangen Sie zu der gleichen Stelle wie oben:
http://stackoverflow.com/questions/10672712
Nun, wenn Sie den obigen link verwenden, dann werden Sie feststellen, dass in der Adressleiste des Browsers den link fügt automatisch die Frage Titel (slug) nach Frage-id und es erscheint, gleich der erste link oben.
Ich versuche einen Artikel zu erstellen-basierten website mit Codeigniter. Für die Anzeige eines bestimmten Artikels habe ich einen controller sieht wie folgt aus:
function articles(){
$id=$this->uri->segment(3);
$this->load->model('mod_articles');
$data['records']=$this->mod_articles->list_articles($id);
$this->load->view('view_article',$data);
}
Mein Modell:
function list_articles($id)
$this->db->select('*');
$this->db->from('cx_article');
$this->db->join('cx_author', 'cx_author.author_id = cx_article.author_id');
$this->db->where('article_id', $id);
$query = $this->db->get();
if ($query->num_rows() > 0)
{ return $query->row_array();
}
else {return NULL;}
}
Wenn man auf dieser-> localhost/my_base_url/my_controller/my_funtion/article_id
dann mein Artikel zeigt. Nun, was ich versuche zu erreichen ist, wenn jemand trifft localhost/my_base_url/my_controller/my_funtion/article_id
ich automatisch den Titel des Artikels als slug direkt nach der 'article_id' per.(Genau wie das Beispiel, das ich oben gegeben habe)
Könnten Sie mir bitte sagen, wie zu tun?
Dank:)
P. S In meiner DB-Tabelle habe ich eine Spalte namens article_slug
, in denen ich meine Artikel-Titel als slug(Beispiel: voting-system-wie-stackoverflow ).
Du musst angemeldet sein, um einen Kommentar abzugeben.
controllers/my_controller.php
Gibt es keinen Punkt, um eine slug-Spalte in der Datenbank, da Sie nicht erkennen, alles basierend auf deiner slug, noch ist es einzigartig.