Перейти к публикации

Мод автоматической смены даты новости


Рекомендованные сообщения

Добрый день.
Имеется мод который по крону берет несколько случайных новостей и меняет дату новости на текущую. Мод работает - но есть одна проблема. Когда меняется дата, то и меняется ID новости (как будто то бы новость была добавлена впервые ). Хотелось чтобы ID у новости оставался старый.

Есть возможность такое организовать?

Вот код самого мода
 


<?php
@ob_start ();
@ob_implicit_flush ( 0 );
if( !defined( 'E_DEPRECATED' ) ) {
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
} else {
@error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
}
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
define ( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -14 ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
//die(ROOT_DIR);
include ENGINE_DIR . '/data/config.php';
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';
require_once ENGINE_DIR . '/modules/sitelogin.php';
if( !$is_logged ) $member_id['user_group'] = 5;

$news_limit = 5; // сколько новостей переделывать за один запуск.

$id_array = array();
$db->query( "SELECT * FROM " . USERPREFIX . "_post ORDER BY date ASC LIMIT $news_limit" );
while ( $row = $db->get_row() ) {
//$row['date'] = strtotime( $row['date'] );
$new_date = date('Y-m-d H:i:s', $_TIME);
$id = $row['id'];
echo '#'.$id. '. '.$row['title'].' - '.$row['date'].' - '.$new_date.'<br>';

$id_array[] = $id;
#$db->query( "UPDATE " . PREFIX . "_post SET date='$new_date' WHERE id='$id'" );
}

foreach($id_array as $k=>$v){
$db->query( "UPDATE " . PREFIX . "_post SET date='$new_date' WHERE id='$v'" );
}




?> 

 

Ссылка на сообщение
Поделиться на других сайтах

В этом коде нет изменения ID новости. Меняет вам его точно не этот код, а какой то другой. И берет он у вас не случайные новости, а первые по дате, ибо в нем стоит "ORDER BY date ASC"

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, lisa999 сказал:

А что нужно прописать чтобы он брал случайные, а не первые по дате?

Если вопрос ко мне, то я не пишу модулей и кодов на заказ.

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, lisa999 сказал:

А что нужно прописать чтобы он брал случайные, а не первые по дате? Спасибо

 

ORDER BY date ASC

заменить на

ORDER BY RAND()

 

Google заблокирован? :)

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...