Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как реализовать Топ 100 новостей по доп. полю?

Как реализовать Топ 100 новостей по доп. полю?


     14.05.2019    Общие вопросы по PHP, Хаки, Ламерские вопросы    1273

вопрос
Как сделать топ 100 по доп полю?
Есть такой хак,но он ломает тег кастом,да и не берет в счет вторые цифры

if ($match[1] != 'rand' && $match[1] != 'id_as_list') {
    $match[1] = $db->safesql($match[1]);
    $news_sort = "ABS(SUBSTRING_INDEX(SUBSTRING_INDEX(xfields, '{$match[1]}|', -1), '||', 1))";
}

Ответа пока нет


1 комментарий

nowheremany
Эксперт

nowheremany - 14 мая 2019 13:08 -

Вы сначала в phpmyadmin запрос сформируйте и посмотрите результат
К примеру - этот запрос работает корректно (мы не говорим о нагрузке :) )
select
abs(SUBSTRING_INDEX(SUBSTRING_INDEX(xfields, 'copyrightyear|', -1), '||', 1)) as 'sort'
,title,xfields
from dle_post
order by sort desc


Проблемы могут быть, если у вас название доп поля с префиксами: например copyrightyear copyrightyear1 copyrightyear2 - в таком случае корректно работать не будет, если искать copyrightyear
Должно быть
copyrightyear0, copyrightyear1, ..., copyrightyear9
или
copyrightyear00, copyrightyear01, .., copyrightyear99

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх