41 if (!is_array($arOrder) && !is_array(
$arFilter))
43 $arOrder = strval($arOrder);
53 if (empty($arSelectFields))
54 $arSelectFields =
array(
"ID",
"NAME",
"PERCENTAGE");
57 "ID" =>
array(
"FIELD" =>
"E.ID",
"TYPE" =>
"int"),
58 "NAME" =>
array(
"FIELD" =>
"E.NAME",
"TYPE" =>
"string"),
59 "PERCENTAGE" =>
array(
"FIELD" =>
"E.PERCENTAGE",
"TYPE" =>
"double"),
64 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
66 if (empty($arGroupBy) && is_array($arGroupBy))
68 $strSql =
"SELECT ".$arSqls[
"SELECT"].
" FROM b_catalog_extra E ".$arSqls[
"FROM"];
69 if (!empty($arSqls[
"WHERE"]))
70 $strSql .=
" WHERE ".$arSqls[
"WHERE"];
71 if (!empty($arSqls[
"GROUPBY"]))
72 $strSql .=
" GROUP BY ".$arSqls[
"GROUPBY"];
81 $strSql =
"SELECT ".$arSqls[
"SELECT"].
" FROM b_catalog_extra E ".$arSqls[
"FROM"];
82 if (!empty($arSqls[
"WHERE"]))
83 $strSql .=
" WHERE ".$arSqls[
"WHERE"];
84 if (!empty($arSqls[
"GROUPBY"]))
85 $strSql .=
" GROUP BY ".$arSqls[
"GROUPBY"];
86 if (!empty($arSqls[
"ORDERBY"]))
87 $strSql .=
" ORDER BY ".$arSqls[
"ORDERBY"];
90 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
91 if ($boolNavStartParams && array_key_exists(
'nTopCount', $arNavStartParams))
93 $intTopCount = intval($arNavStartParams[
"nTopCount"]);
95 if ($boolNavStartParams && 0 >= $intTopCount)
97 $strSql_tmp =
"SELECT COUNT('x') as CNT FROM b_catalog_extra E ".$arSqls[
"FROM"];
98 if (!empty($arSqls[
"WHERE"]))
99 $strSql_tmp .=
" WHERE ".$arSqls[
"WHERE"];
100 if (!empty($arSqls[
"GROUPBY"]))
101 $strSql_tmp .=
" GROUP BY ".$arSqls[
"GROUPBY"];
105 if (empty($arSqls[
"GROUPBY"]))
112 $cnt =
$dbRes->SelectedRowsCount();
117 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
121 if ($boolNavStartParams && 0 < $intTopCount)
122 $strSql .=
" LIMIT ".$intTopCount;