[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подправка Кода (PHP)
Vorobey
Здравствуйте господа программисты. Такой вот у меня вопрос, касающийся PHP, и немножко движка DLE (CMS DLE).

Есть у меня скрипт, использую как модуль к 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

Спустя 2 минуты, 58 секунд (5.07.2011 - 14:36) Renden написал(а):
inpost
Ггыы, запрос я даже не смотрел, такой вариант лучше smile.gif

Спустя 43 минуты, 15 секунд (5.07.2011 - 15:20) DySprozin написал(а):
;;такой вариант лучше
эксперты... они такие эксперты 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)
Вопрос по этому же модулю
Когда новость относится к нескольким категориям этот хак её относит только к первой стоящей категории в перечислении
Как сделать чтобы он относил ко всем перечисленным категориям?

Спасибо, но я уже разобрался сам
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.