• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Как перемешать новости в DLE ?

deftones2

Создатель
Регистрация
6 Мар 2010
Сообщения
42
Реакции
2
Награбил новостей на 2 сайта, посты сохранились в алфавитном порядке (от Я до А).

Нужен скрипт или SQL запрос который сможет перемешать новости. Я полагаю нужно просто перемешать даты указанные в mysql.

Спасибо.
 
А что мешает перемешать их через {custom order="rand"}

Скрытое содержимое доступно для зарегистрированных пользователей!
 
А этот тэг перемешивает новости каждое обновление сайта ? И куда его впихнуть.
 
А этот тэг перемешивает новости каждое обновление сайта ? И куда его впихнуть.
Перемешивает хоть при каждой загрузке страницы. Я дал ссылку там написано как и куда этот тег вставлять.
 
Перемешивает хоть при каждой загрузке страницы. Я дал ссылку там написано как и куда этот тег вставлять.

Но это совсем не то что мне нужно, я попробовал поставить вместо {content}, мешает при каждом обновлении страницы.
 
В Настройках системы можешь выбрать как тебе сортировать новости

h4pbl6sz.jpg
 
Спасибо, я это знал )

Но там опять таки нет той опции которая мне необходима.

Просто перемешать новости по алфавиту не поможет, нужен рандом.
 
deftones2, ты как предлагаешь сделать рандом, который каждый раз одинаковый?

Ты мне чисто словами опиши как сервер после обновления страницы должен повторить предыдущий рандом - я тебе реализую... Мне просто поржать над методом хочется...
 
deftones2, ты как предлагаешь сделать рандом, который каждый раз одинаковый?

Ты мне чисто словами опиши как сервер после обновления страницы должен повторить предыдущий рандом - я тебе реализую... Мне просто поржать над методом хочется...
PHP:
if (file_exists(ENGINE_DIR . "/data/news_id.txt"))
{
    $news_id = file_get_contents(ENGINE_DIR . "/data/news_id.txt");
    $sql_id = "ORDER BY FIND_IN_SET(p.id,'".str_replace("','",$db->safesql($news_id))."')";
}
else
{
    $rand_sql = $db->query("SELECT id FROM " . PREFIX . "_post WHERE approve=1");
    $arr_id = array();
    while( $row_rand = $db->get_row($rand_sql) )
        $arr_id[] = intval($row_rand["arr_id"]);
    $arr_id_str = implode(",",$arr_id);
    unset($arr_id);
   
    $handler = fopen(ENGINE_DIR . '/data/news_id.txt', "w");
    fwrite($handler, $arr_id_str);
    fclose($handler);
    $sql_id = "ORDER BY FIND_IN_SET(p.id,'".str_replace("','",$db->safesql($arr_id_str))."')";
}
 
@Gameer, как-то уж слишком радикальный коддинг... Нагрузку замерял от такого решения? :)

P.s. для такого есть кэш, не надо захламлять папку конфигов.
 
Назад
Сверху