Я пытаюсь сделать это, когда я нажал на свой конкретный продукт, вместо идентификатора моего продукта появится в моем URL-адресе, я хочу поместить имя продукта. то, что я сделал сегодня base_url/контроллер/метод/идентификаторPhp - Codeigniter url spaces
я хочу сделать, это base_url/контроллер/метод/название-продукта или base_url/контроллер/метод/product_name
, но в моем коде, что произошло, в моем имени продукта все пробелы заняты% 20, что я должен сделать, чтобы заменить% 20 либо подчеркиванием, либо тире или любым безопасным способом назвать имя продукта в URL-адресе.
и все, что я получаю от этого $ name (product_name), я передам его моей модели.
МОЙ CONTROLLER
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)' OR 'str_replace ('', '-', $ promo_row-> name)', сделайте это, прежде чем поместить его в URL-адрес. – ArtisticPhoenix
@ArtisticPhoenix дает наилучшую идею для вас, а также вы можете использовать 'urlencode()' здесь. –