Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Как сделать вывод списка категорий рандомно ?

Как сделать вывод списка категорий рандомно ?


     31.12.2017    Модули, Хаки    1169

вопрос
Подскажите как сделать вывод случайных категорий (например случайных категорий штук 5). Есть следующий код (нашел на форуме www.nulled.cc) как его допилить?


<?php
 
if(!defined('DATALIFEENGINE')){die("шел бы ты отсюда петушок");}        //для красоты ))
 
$config['allow_cache'] = "yes";                                    //включаем кеширование, а то вдруг оно выключено ))
$catlist = dle_cache("catlist", $config['skin']);                //берем наш кеш, если есть конечно ))
 
if( !$catlist ) {                                                //проверяем взяли ли из кеша и если нет, то делаем выборку.
    $sql_result = $db->query("select ct.id, ct.alt_name, ct.name, ct.icon, ct.posi, ct.parentid, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_ from ". PREFIX ."_category ct ORDER BY ct.posi");
    while($row = $db->get_row($sql_result)){
        if ($row['parentid']=='0') $catlist .= '<div class="cat-linck-img"><a href="'.$config['http_home_url'].$row['alt_name'].'/"><img src="'.$row['icon'].'"><div class="title-cli">'.$row['name'].'</div><div class="post-col">Published posts: '.($row['allnews_']).'</div></a></div>';
        else $catlist .= '<div class="subcat"><a href="'.$config['http_home_url'].$row['alt_name'].'/"><div>'.$row['icon'].'</div>'.$row['name'].'</a> ['.($row['allnews_']).']</div>';
        }
        create_cache("catlist", $catlist, $config['skin'] );    //записываем данные в кеш
    }

echo $catlist;                                                    //выводим наши данные
?>

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


2 комментария

maks
Юзер

maks - 31 декабря 2017 20:48 -

***Комментарий удален***

Просто Адам
Юзер

Просто Адам - 1 января 2018 11:41 -

Я так понимаю, у вас есть меню, в котором есть ссылки на некие категории сайта (например 20 ссылок), и вам нужно сделать так, чтобы отображались рандомно, например, 5 из них?

Подключите jquery.
Вставьте в конец страницы:

var menuContainer = $("#pagecontent"); // В какой блок выводить пункты меню

function random(min,max,l)
{var arr = [],m = [],n = 0;
  if (max - min < l-1) return;
  for (var i=0; i<=(max-min); i++)m[i] = i + min;
  for (var i=0; i<l; i++) {n = Math.floor(Math.random()*(m.length)); arr[i]=m.splice(n,1);}; 
  return arr
}

var menuNumber = 5; // сколько нужно вывести пунктов меню

// Сюда пишем наши пункты меню
var menuArray= [
	"<a href='#'>Корм для кошек</a>",
	"<a href='#'>Корм для собачек</a>",
	"<a href='#'>Корм для петухов</a>",
	"<a href='#'>Корм для ослов</a>",
	"<a href='#'>Корм для рептилоидов</a>",
	"<a href='#'>Корм для говнокодеров</a>"
]

var arr = random(0,menuArray.length -1,menuNumber); 

var htmlToMenuContainer = menuArray[arr[0]];

for(i = 1; i < menuNumber; i++){
	htmlToMenuContainer += menuArray[arr[i]];
}

menuContainer.html(htmlToMenuContainer);

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

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

 11.05.2014 kolumb  Модули
наверх