Codeigniter редактирование URI-сегмента для нумерации страниц - PullRequest
1 голос
/ 18 октября 2019

У меня есть URL-адрес http://localhost/basic/Logiciel/ab/current_page/10/date_from/1571691600000/date_to/1572382800000/time_from/30/time_to/60

, и я получаю текущий URL-адрес и следующую страницу, например:

$cu = current_url();
$current_page = $this->input->get('current_page'); 
$next_page = (int)$current_page + 1;

Я хочу изменить $current_page и установить его впеременная по моему выбору. Есть ли функция в классе uri или input, которая может позволить мне изменить сегмент uri, чтобы сформировать новый URL-адрес, или я должен выполнить parse_url и разбить мой URL-адрес на массив, как если бы я не использовал codeigniter?.

$parse_cu = parse_url($url, PHP_URL_QUERY);
parse_str($parse_cu, $cu_arr);
$cu_arr['current_page'];

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

используя класс CI URI , который вы можете использовать:

getter:

$arr=($this->uri->uri_to_assoc());

, который выводит

Array
(
    [current_page] => 10
    [date_from] => 1571691600000
    [date_to] => 1572382800000
    [time_from] => 30
    [time_to] => 60
)

, так что выбирайте current_page':

    $arr=$this->uri->uri_to_assoc();
    $cp=$arr['current_page'];

и создайте новую строку uri:

    $arr1=$arr;
    $arr1['current_page']=$cp+1;
    echo $this->uri->assoc_to_uri($arr1);

(где +1 может означать любой + $ var), который выдает:

current_page/11/date_from/1571691600000/date_to/1572382800000/time_from/30/time_to/60
0 голосов
/ 18 октября 2019

Здесь вы должны использовать класс URI CodeIgniter.

Класс URI имеет несколько методов, таких как segment(), uri_to_assoc() и assoc_to_uri, которые позволят вам делать именно то, что вы ищетедля.

https://codeigniter.com/user_guide/libraries/uri.html

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