lisa999 0 Опубликовано: 19 июня 2016 Рассказать Опубликовано: 19 июня 2016 Добрый день.Имеется мод который по крону берет несколько случайных новостей и меняет дату новости на текущую. Мод работает - но есть одна проблема. Когда меняется дата, то и меняется 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'" ); } ?> Ссылка на сообщение Поделиться на других сайтах
celsoft 6255 Опубликовано: 19 июня 2016 Рассказать Опубликовано: 19 июня 2016 В этом коде нет изменения ID новости. Меняет вам его точно не этот код, а какой то другой. И берет он у вас не случайные новости, а первые по дате, ибо в нем стоит "ORDER BY date ASC" Ссылка на сообщение Поделиться на других сайтах
lisa999 0 Опубликовано: 20 июня 2016 Рассказать Опубликовано: 20 июня 2016 Автор А что нужно прописать чтобы он брал случайные, а не первые по дате? Спасибо Ссылка на сообщение Поделиться на других сайтах
celsoft 6255 Опубликовано: 20 июня 2016 Рассказать Опубликовано: 20 июня 2016 8 минут назад, lisa999 сказал: А что нужно прописать чтобы он брал случайные, а не первые по дате? Если вопрос ко мне, то я не пишу модулей и кодов на заказ. Ссылка на сообщение Поделиться на других сайтах
webair 179 Опубликовано: 20 июня 2016 Рассказать Опубликовано: 20 июня 2016 (изменено) 4 часа назад, lisa999 сказал: А что нужно прописать чтобы он брал случайные, а не первые по дате? Спасибо ORDER BY date ASC заменить на ORDER BY RAND() Google заблокирован? Изменено 20 июня 2016 пользователем webair Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас