• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Список категорий

DiMk@™

Постоялец
Регистрация
5 Май 2006
Сообщения
166
Реакции
136
DLE 8.5 пока на сайте не перевалило за 1K уников в сутки было все путен, нынче новостей под 8K, 35 категорий.
есть подозрение на catlist.php который с каждым пользователем дергает базу и пересччитывает количество новостей по каждой категории
можно как то оптимизировать -закешировать ???
сам в коде не разбирусь
может кто помочь
заранее сенкс.
 

Вложения

  • catlist.php.txt
    726 байт · Просмотры: 24
Переписал модуль - наверное правильно :D
У меня работает
PHP:
<?php
/*
======================================================================================
Назначение: Модуль для вывода списка категорий
======================================================================================
Автор: не сообщили
Добавал кеширование: yavasilek
======================================================================================
Файл: catlist.php
======================================================================================
*/
 
if(!defined('DATALIFEENGINE')){die("шел бы ты отсюда петушок");}        //для красоты ))
 
$config['allow_cache'] = "yes";                                    //включаем кеширование, а то вдруг оно выключено ))
$catlist = dle_cache("catlist", $config['skin']);                //берем наш кеш, если есть конечно ))
 
if( !$catlist ) {                                                //проверяем взяли ли из кеша и если нет, то делаем выборку.
    $sql_result = $db->query("select ct.id, ct.alt_name, ct.name, ct.posi, ct.parentid, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_ from ". PREFIX ."_category ct ORDER BY ct.posi");
    while($row = $db->get_row($sql_result)){
        if ($row['parentid']=='0') $catlist .= '<li>&raquo; <a href="'.$config['http_home_url'].$row['alt_name'].'/">'.$row['name'].'</a> ['.($row['allnews_']).']</li>';
        else $catlist .= '<li class="subcat">&raquo; <a href="'.$config['http_home_url'].$row['alt_name'].'/">'.$row['name'].'</a> ['.($row['allnews_']).']</li>';
        }
        create_cache("catlist", $catlist, $config['skin'] );    //записываем данные в кеш
    }
echo $catlist;                                                    //выводим наши данные
?>
 
Назад
Сверху