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