Gameer
Постоялец
- Регистрация
- 25 Апр 2014
- Сообщения
- 187
- Реакции
- 118
я забыл еще сделать рандом id.@Gameer, как-то уж слишком радикальный коддинг... Нагрузку замерял от такого решения?
P.s. для такого есть кэш, не надо захламлять папку конфигов.
PHP:
if (file_exists(ENGINE_DIR . "/data/news_id.txt"))
{
$news_id = file_get_contents(ENGINE_DIR . "/data/news_id.txt");
$sql_id = "ORDER BY FIND_IN_SET(p.id,'".str_replace("','",$db->safesql($news_id))."')";
}
else
{
$rand_sql = $db->query("SELECT id FROM " . PREFIX . "_post WHERE approve=1");
$arr_id = array();
while( $row_rand = $db->get_row($rand_sql) )
$arr_id[] = intval($row_rand["arr_id"]);
shuffle($arr_id);
$arr_id_str = implode(",",$arr_id);
unset($arr_id);
$handler = fopen(ENGINE_DIR . '/data/news_id.txt', "w");
fwrite($handler, $arr_id_str);
fclose($handler);
$sql_id = "ORDER BY FIND_IN_SET(p.id,'".str_replace("','",$db->safesql($arr_id_str))."')";
}
Идентично что кэш что это. Сохранил в папку data можно ведь в любую.