Подсчет количества файлов в текущей категории Slaed 2.1 и выше (Lite ветка)
Собственно по заявкам
Выводит количество файлов в текущей категории без учета количества во вложенных.
Привожу функцию вывода категорий, все изменения и добавления прокомментированы.
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <?php function categories($id="") { global $prefix, $db, $module_name, $tabcolumn, $showsubkat; // добавлено $massiv3 static $massiv, $massiv2, $massiv3; $id = (intval($id)) ? $id : 0; $where = ($id) ? "WHERE parentid = '$id'" : ""; $tdwidth = intval(100/$tabcolumn); if (!is_array($massiv)) { $result = $db->sql_query("SELECT cid, title, parentid FROM ".$prefix."_files_categories ".$where.""); while (list($cid, $title, $parentid) = $db->sql_fetchrow($result)) $massiv[] = array($cid, $title, $parentid); } if (!is_array($massiv2)) { $result = $db->sql_query("SELECT cid, title, parentid FROM ".$prefix."_files_categories"); while (list($cid, $title, $parentid) = $db->sql_fetchrow($result)) $massiv2[] = array($cid, $title, $parentid); }
// начало вставки 1 if (!is_array($massiv3)) { $result = $db->sql_query("SELECT cid, Count(lid) FROM ".$prefix."_files WHERE status != '0' GROUP BY cid"); while (list($cid, $summ) = $db->sql_fetchrow($result)) $massiv3[$cid] = $summ; } // конец вставки 1 if ($massiv) { foreach ($massiv as $key => $val) { if ($val[2] == $id) { // добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории if (!isset($massiv3[$val[0]])) {$massiv3[$val[0]] = 0;} // добавлено $massiv3[$val[0]] $ccontent .= "<td valign=\"top\" width=\"".$tdwidth."%\"><table border=\"0\"><tr><td><img border=\"0\" src=\"images/blocks/Files.gif\" title=\"$title\"></td><td><a href=\"index.php?name=$module_name&op=cat&id=$val[0]\" title=\"$val[1]\"><b>$val[1]</b></a> (".$massiv3[$val[0]].")</td></tr>"; if ($showsubkat == 1 && $massiv2) { foreach ($massiv2 as $key => $val2) { if ($val[0] == $val2[2]) { // добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории if (!isset($massiv3[$val2[0]])) {$massiv3[$val2[0]] = 0;} // добавлено $massiv3[$val2[0]] $ccontent .= "<tr><td colspan=\"2\"><img border=\"0\" src=\"images/navi.gif\" title=\"$val2[1]\"> <a href=\"index.php?name=$module_name&op=cat&id=$val2[0]\" title=\"$val2[1]\">$val2[1]</a> (".$massiv3[$val2[0]].")</td></tr>"; } } } $ccontent .= "</table></td>"; if ($cont == ($tabcolumn - 1)) { $ccontent .= "</tr><tr>"; $cont = 0; } else { $cont++; } } } } if ($ccontent) { OpenTable(); echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\"><tr>".$ccontent."</td></tr></table>"; list($files_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_files WHERE status !='0'")); list($cat_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(cid) FROM ".$prefix."_files_categories")); echo "<hr><center>"._ALLFILES.": <b>$files_num</b> "._INF." <b>$cat_num</b> "._ALLFILES2."</center>"; CloseTable(); } } ?> |
Дата публикации: 13.07.2007 Прочитано: 8345 раз |