Савелей
Новичок
функция подсчета позиций в категориях
Есть в скрипте функция подсчета ссылок в категориях,
категорий и ссылок стало много отсюда и тормоза
может можно сделать ее в меньше запросов, оптимизировать?
Есть в скрипте функция подсчета ссылок в категориях,
категорий и ссылок стало много отсюда и тормоза
может можно сделать ее в меньше запросов, оптимизировать?
PHP:
function sync() {
GLOBAL $db;
$R=Array();
mysql_query("UPDATE ".DB_PREFIX."cat SET count='0';");
$r=mysql_query("select cat1,count(*) from ".DB_PREFIX."main where type=1 and cat1!=0 group by cat1;");
$cnt = mysql_num_rows($r);
for ($i=0;$i<$cnt;$i++) {
$cid=mysql_result($r,$i,0);
$count=mysql_result($r,$i,1);
if (!isset($R[$cid])) $R[$cid]=0;
$R[$cid]+=$count;
}
while (list($k, $v)=each($R)) {
mysql_query("UPDATE ".DB_PREFIX."cat SET count=count+'$v' WHERE cid='$k';");
$id=$k;
do {
$r=mysql_query("SELECT parent FROM ".DB_PREFIX."cat WHERE cid='$id';");
$id=@mysql_result($r,0,0);
if ($id!=0) {
mysql_query("UPDATE ".DB_PREFIX."cat SET count=count+'$v' WHERE cid='$id';");
}
} while ($id!=0);
}
}