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

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


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

Добрый день.
Имеется мод который по крону берет несколько случайных новостей и меняет дату новости на текущую. Мод работает - но есть одна проблема. Когда меняется дата, то и меняется 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
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...