Тема: случайная новость

У меня версия скрипта CuteNews 2.5 и я хотел бы выводить на главной странице или где-нибудь еще случайные новости. Подскажите возможно ли это, потому что в readme этого не написано. Спасибо.

Re: случайная новость

delfin, самый простой способ выглядит примерно так:

//вывод одной случайной новости
srand(time()); //инициализируем генератор случайных чисел
$skip=rand(0, 100); //генерируем случайное число от 0 до примерного количества новостей (например 100)

//...здесь подключаем модуль вывода новостей...

Возможные усовершенствования:

- Выводить несколько случайных новостей,

- Перед использованием функции rand определять реальное количество новостей в базе, например так:

$row=$sql->select(array('table' => 'news', 'select' => array('id')));
$result = count($row);//это количество новостей в базе
$skip=rand(0, $result);

- То же самое, но определять количество новостей в категории и выводить случайные новости по категориям,

- и т.д.

Re: случайная новость

А как сделать вывод случайных новостей по случайным категориям, то есть берётся случайная категория и из неё выводиться случайная новость и т.д.?
Спасибо

Re: случайная новость

Avtex, в предложенном мною примере так и произойдет. Новость выбирается из базы по случайному номеру, вне зависимости от категории, значит категория также выберется случайно.

Лирика:

delfinу и Avtexу - а зачем вам это? Не удешевляйте свой труд. Новости не могут быть случайными, они все заслуживают внимания, так как в них содержится информация! Ну куда еще ни шло - "самая актуальная новость", "самая популярная новость", "еще новости по теме" и т.д. А для чтения случайной новости читателю даже не обязательно заходить именно на ваш сайт, можно посетить любой случайный wink

Ваши "усовершенствования" интерфейса только создадут лишнюю нагрузку для движка.

Re: случайная новость

ANT-Soft пишет:

Avtex, в предложенном мною примере так и произойдет. Новость выбирается из базы по случайному номеру, вне зависимости от категории, значит категория также выберется случайно.

Если б оно так было - я б и не спрашивал, в твоём примере выбирается случайная категория и из неё выводится заданное количество случайных новостей (допустим я вывожу 7 новостей на страницу, то скрипт выводит 7 случайных новостей из одной случайной категории, затем берётся следующая случайная категория и выводиться точно так же), а мне б чуток по-другому - случайная категория и из неё случайная новость, затем снова случайная категория и из неё случайная новость и т.д.

ANT-Soft пишет:

delfinу и Avtexу - а зачем вам это?

Просто у меня куча разных категорий и я хотел бы сделать чтоб помимо самых новых и самых популярных выводились ещё и случайные новости из случайных категорий

Re: случайная новость

Здраствуйте , а возможно ли вывести все новости в случайном порядке?
Именно все!
p.s. Не спрашивайте почему именно нужно sad
скрипт использую тот же кутьНюьз 2.5.4

Re: случайная новость

Xavior,

Читайте, пожалуйста, правила

  • 2.3. В теле сообщения (подпись и заголовок не являются телом сообщения!) должна быть указана версия скрипта: CuteNews.RU 2.5, Strawberry 1.1. и тип базы: textSQL, MySQL. Каждая версия имеет различия и при ответе это учитывается.
  • Все не получится, т.к. скрипт предусматривает определенный порядок сортировки. А если выводить в случайном порядке все новости, то придется формировать количество запросов к базе, равное количеству новостей, да еще предусматривать "неповторение". Представляете нагрузочку на сервер? Вам хостер перекроет кислород после первой же попытки такого вывода.

    8

    Re: случайная новость

    Всем привет снова. Нет-нет, да приходится обращаться за помощью на форум smile

    ANT-Soft пишет:

    delfin, самый простой способ выглядит примерно так:

    //вывод одной случайной новости
    srand(time()); //инициализируем генератор случайных чисел
    $skip=rand(0, 100); //генерируем случайное число от 0 до примерного количества новостей (например 100)
    
    //...здесь подключаем модуль вывода новостей...

    Возможные усовершенствования:

    - Выводить несколько случайных новостей,

    - Перед использованием функции rand определять реальное количество новостей в базе, например так:

    $row=$sql->select(array('table' => 'news', 'select' => array('id')));
    $result = count($row);//это количество новостей в базе
    $skip=rand(0, $result);

    - То же самое, но определять количество новостей в категории и выводить случайные новости по категориям,

    - и т.д.

    Скажи плс как это сделать. smile Очень нужно сосчитать количество новостей в определенной категории и затем сделать рандомный вывод одной из них. А кому интересно зачем, подскажу, планируется раздел "Обои" и хотелось бы вывести случайный wallpaper в определенном блоке.

    Версия Strawberry 1.1.1.
    Тему не стал создавать новую, т.к. вроде вопрос попадает под этот топик.

    Отредактировано Bulldo3er (05 Feb 2010 23:59:21)

    Re: случайная новость

    Bulldo3er, нет-нет, да и приходится иногда читать документацию.

    count_category_entry($catid) - количество новостей в категории с номером $catid.