gpt4 book ai didi

Codeigniter URL : How to display id and article title in the URL

转载 作者:行者123 更新时间:2023-12-03 06:14:58 25 4
gpt4 key购买 nike

请参阅以下链接结构

http://stackoverflow.com/questions/10672712/voting-system-like-stackoverflow

在上面的链接中10672712我猜是问题 ID,因为如果您检查以下链接,您将到达与上面相同的位置:

 http://stackoverflow.com/questions/10672712

现在,如果您使用上面的链接,那么您会注意到,在浏览器的地址栏中,该链接会自动在问题 ID 之后添加问题标题(作为标题),并且它看起来就像上面的第一个链接一样。

我正在尝试使用 Codeigniter 创建一个基于文章的网站。为了显示特定的文章,我有一个如下所示的 Controller :

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);
}

我的模型:

  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;}

}

如果你点击这个-> localhost/my_base_url/my_controller/my_funtion/article_id然后我的文章就出现了。现在我想要实现的是如果有人点击 localhost/my_base_url/my_controller/my_funtion/article_id我想在article_id后面自动添加文章标题作为slug。(就像我上面给出的例子一样)

你能告诉我该怎么做吗?

谢谢:)

P.S 在我的数据库表中,我有一个名为 article_slug 的列,其中我将文章标题存储为 slug(例如:voting-system-like-stackoverflow)。

最佳答案

controllers/my_controller.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class My_controller extends CI_Controller {

function my_function($int_id = NULL, $str_slug = '') {

$row = $this->db->get_where('cx_article', array('article_id' => $int_id))->row();

if ($row and ! $str_slug) {

$this->load->helper('url');

$str_slug = url_title($row->title, 'dash', TRUE);
redirect("my_controller/my_function/{$int_id}/{$str_slug}");

}

// Run the rest of the code here

}

}

数据库中没有 slug 列,因为您无法根据 slug 识别任何内容,也不是唯一的。

关于Codeigniter URL : How to display id and article title in the URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10683820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com