我想要做的是当我点击了我的具体产品,而不是我的产品的ID会出现在我的网址,我想把产品的名称。 我怎么做今天BASE_URL /控制器/方法/ IDPHP - Codeigniter的网址空间
我想要做的就是BASE_URL /控制器/方法/产品名称或BASE_URL /控制器/方法/ PRODUCT_NAME
,但在我的代码所发生的事情是在我的产品名称中,所有空格都被%20占据,我应该如何用下划线或短划线或任何安全的方式在URL中调用产品名称来替换%20。
和我得到的任何$ name(product_name)我都会将它传递给我的模型。
我的控制器
public function details($name){
$prod_row = $this->PromoModel->getpromorow($name);
$data['promodetail'] = $prod_row;
$data['promo'] = $this->PromoModel->get_promo();
$data['message']= "<h1> NO PROMOS AVAILABLE</h1>";
$this->load->view('include/header',$data);
$this->load->view('include/nav');
$this->load->view('promo/PromoDetail', $data);
$this->load->view('include/footer');
}
我的模型
public function getpromorow($name) {
$this->db->where('name', $name);
$query = $this->db->get('promo');
return $query->row();
}
public function get_promo(){
$query = $this->db->get('promo');
return $query->result();
}
我看来
<a href="<?= base_url(). 'promos/details/' . $promo_row->name ?>"> </a>
'str_replace('','_',$ promo_row-> name)'或'str_replace('',' - ',$ promo_row-> name)',在将其放入url之前先执行此操作。 – ArtisticPhoenix
@ArtisticPhoenix给你最好的想法,你也可以在这里使用'urlencode()'。 –