У меня есть поле пути в таблице mysql, в которой хранится путь к странице.
Идентификатор страницы в конце, например 33, 31, 121 ...
Как мне написать запрос, чтобы получить только идентификаторы?
Path
-----
trending-architectures/architecture_detail_page/31
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
2 ответа
Если шаблон такой же, вы можете использовать функцию substring_index()
mysql> select substring_index('trending-architectures/architecture_detail_page/31','/',-1) as num;
+-----+
| num |
+-----+
| 31 |
+-----+
1 row in set (0.00 sec)
Таким образом, оператор select будет выглядеть как
select
substring_index(path,'/',-1) as number
from table_name
;
Я могу придумать два решения: первое использует взрыв, чтобы разделить строку на массив с помощью делиметра «/», а затем он устанавливает последнее значение массива (который является идентификатором страницы) внутри переменной
$path = explode('/', $path);
$page = end($path);
Другое решение просто заменяет любой текст перед числом ничем
$page = str_replace('trending-architectures/architecture_detail_page/', '', $path);
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.