| Подсчет количества файлов в текущей категории 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
 
 | <?phpfunction 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
 Прочитано: 8895 раз
 |