Есть у меня скрипт, использую как модуль к DLE. Который, подсчитывает кол-во имеющихся новостей в определенной категории. Если в категории "Самолеты", допустим 5 новостей. Скрипт выведет в меню - Самолеты (5). Смысл в чем, нужно, что бы он умножил это значение на 20. Т.е. если в категории 5 новостей, то вывести в меню должно "Самолеты (100)" - 5x20. Думаю разъяснил понятно. Вот сам скрипт, подскажите, где что подправить, думаю это не так сложно :)
Код:
<?php
/********* Количество новостей в главном меню **********/
$count_news = dle_cache( "count_news_of_category", $config[’skin’] );
if( !$count_news )
{
//кэш с количеством новостей пуст
$sql_result = $db->query("select ct.id,
(select count(*) from ". PREFIX ."_post ps where (ps.category REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or 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 REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or ps.category=ct.id) AND approve = '1') as allnews_
from ". PREFIX ."_category ct"
);
$count_news_of_category = '';
while($row = $db->get_row($sql_result))
{
$t = $row['new_'].'|'.$row['allnews_'];
$tpl->set('{count_categ_'.$row['id'].'}', $t);
$count_news_of_category .= $row['id'].'#'.$t.'¦';
}
/**В кэш **/
create_cache( 'count_news_of_category', $count_news_of_category);
$db->free();
}
else
{
//достанем количество новостей из кэша
$arr_newscount = explode('¦', $count_news);
for ($i = 0; $i <= count($arr_newscount) - 2; $i++)
{
$arr_onenews = explode('#', $arr_newscount[$i]);
$tpl->set('{count_categ_'.$arr_onenews[0].'}', $arr_onenews[1]);
}
}
/************************************/
?>
И чуть не забыл, если что, вот сдесь информация по коду (http://8dle.ru/hacks/1638-kolichestvo-novostey-v-menyu-navigacii-v30.html) - Выводится тегом {count_categ_id}Спасибо.
Спустя 5 минут, 56 секунд (5.07.2011 - 14:29) Renden написал(а):
После:
добавь:
while($row = $db->get_row($sql_result))
{
добавь:
$row['new_'] = $row['new_'] * 5;
$row['allnews_'] = $row['allnews_'] * 5;
Спустя 2 минуты, 18 секунд (5.07.2011 - 14:32) inpost написал(а):
(count(*)*5) as `cnt`
Спустя 1 минута, 53 секунды (5.07.2011 - 14:34) Vorobey написал(а):
Renden, inpost, огромное спасибо. То что надо, все работает
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 58 секунд (5.07.2011 - 14:36) Renden написал(а):
inpost
Ггыы, запрос я даже не смотрел, такой вариант лучше
Ггыы, запрос я даже не смотрел, такой вариант лучше
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 43 минуты, 15 секунд (5.07.2011 - 15:20) DySprozin написал(а):
;;такой вариант лучше
эксперты... они такие эксперты
эксперты... они такие эксперты
![tongue.gif](http://phpforum.ru/html/emoticons/tongue.gif)
Спустя 7 месяцев, 29 дней, 8 часов, 7 минут, 19 секунд (4.03.2012 - 23:27) Foust написал(а):
Вопрос по этому же модулю
Когда новость относится к нескольким категориям этот хак её относит только к первой стоящей категории в перечислении
Как сделать чтобы он относил ко всем перечисленным категориям?
Когда новость относится к нескольким категориям этот хак её относит только к первой стоящей категории в перечислении
Как сделать чтобы он относил ко всем перечисленным категориям?
Спустя 35 минут, 37 секунд (5.03.2012 - 00:03) Guest написал(а):
Цитата (Foust @ 4.03.2012 - 20:27) |
Вопрос по этому же модулю Когда новость относится к нескольким категориям этот хак её относит только к первой стоящей категории в перечислении Как сделать чтобы он относил ко всем перечисленным категориям? |
Спасибо, но я уже разобрался сам