© Сделано на LiveStreet
Дизайн - ©2009 MODx RED Group
$top = 10;
$mytable = $modx->getTableName('Pagehit');
$c = new xPDOCriteria($modx,"SELECT `resource_id`, count(`resource_id`) AS `cnt` FROM ".$mytable." GROUP BY `resource_id` ORDER BY `cnt` DESC LIMIT ".$top);
$coll = $modx->getCollection('Pagehit',$c);
<?php
$doc_child = $modx->getChildIds($doc_id); // получаем массив дочерних
$sum = 0; // начальная сумма всех тмц
foreach ($doc_child as $values) {
$a = $values;
// запрос на выборку из таблицы столбца kol с нужным айдишником
$sql = "
SELECT `kol`
FROM `tmc`
WHERE `parent`= $a
";
$result = $modx->db->query($sql);
$row = $modx->db->getColumn('kol',$result); // вытаскиваем только первый столбец
$row1 = array_sum($row); // получаем сумму элементов массива
$sum = $sum + $row1; // прибавляем к общей сумме
}
//добавляем еще для документа
$doc_ids = $modx->getDocument($doc_id); // получаем айди сотрудника
$a = (array_values($doc_ids));
$a1 = $a[0];
// запрос на выборку из таблицы столбца kol с нужным айдишником
$sql2 = "
SELECT `kol`
FROM `tmc`
WHERE `parent`= $a1
";
$result = $modx->db->query($sql2);
$row2 = $modx->db->getColumn('kol',$result); // вытаскиваем только первый столбец
$row2sum = array_sum($row2); // получаем сумму элементов массива
print ($sum+$row2sum); // вывод кол-ва ТМЦ
?>
[[count_tmc2? &doc_id=`[+id+]`]]
CREATE TABLE IF NOT EXISTS `tmc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent` varchar(255) NOT NULL,
`tip` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`num` varchar(255) NOT NULL,
`kol` int(6) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;