Регистрация
Вход через соцсети
Восстановление пароля

Слишком много подразделов - как ограничить вывод?

Новый топик
19.06.2009, 16:16
Ответить | Цитировать
Гость
Гость

Добрый день, вывожу
".s_browse_level(2,$browse_sub[4])."

$browse_sub[4][prefix] = "<br><ul>";
$browse_sub[4][suffix] = "</ul>";
$browse_sub[4][active] = "<li><b><a href=%URL>%NAME</a></b>";
$browse_sub[4][active_link] = " ";
$browse_sub[4][unactive] = "<li><a href=%URL>%NAME</a>";
$browse_sub[4][divider] = "";


Подразделов порядка 50 уже, как ограничить вывод, например выводим первые 10, случайные 10?
24.06.2009, 10:57
Ответить | Цитировать
Гость
Гость

никто не поможет? грустный
24.06.2009, 18:27
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

ну если просто тупо, то, наверное, так:
Код:

$browse_sub[4][prefix] = "".($i<10?"<br><ul>":null)."";
$browse_sub[4][suffix] = "".($i<10?"</ul>":null)."";
$browse_sub[4][active] = "".($i<10?"<li><b><a href=%URL>%NAME</a></b>":null)."";
$browse_sub[4][active_link] = "";
$browse_sub[4][unactive] = "".($i<10?"<li><a href=%URL>%NAME</a>":null)."";
$browse_sub[4][divider] = "";


Temet nosce...
29.06.2009, 10:08
Ответить | Цитировать
Павел Зотов
Зотов Павел

Зарегистрирован:
2006-02-22
Сообщений: 26

Например, так:

$browse_sub[4][sortby] = " Priority LIMIT 10";

Или если хочется случайности, то

$browse_sub[4][sortby] = " RAND() LIMIT 10";

Но нагрузка будет много больше, чем в первом случае

Просто программист
30.06.2009, 19:48
Ответить | Цитировать
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

А вот скажите если нужно ограничить разделы по количеству объектов в них?
К примеру есть много разделов, нужно вывести 5 с наибольшим количеством записей - как быть?
01.07.2009, 00:42
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

malich писал(а):
как быть?

Ну как-как..

1. Составляете запрос, который определяет ТОП5 каталогов (select Subdivision_ID,count(1) from MessageXX where Checked=1 group by 1 order by 2 desc limit 5).
2. В шаблонах вывода проверяете принадлежность текущего каталога к ТОП5.

зы. Даже если у каждого раздела свой компонент назначен и даже если не один компонент у раздела, то все равно можно определить ТОП5, если уж не одним sql-запросом, то в связке с пхп задача весьма решаема.

зыы. Если надо определить не ТОП5, а все каталоги, кол-во записей в которых больше 50, то тогда так: select Subdivision_ID,count(1) from MessageXX where Checked=1 group by 1 having count(1)>50

Temet nosce...
16.09.2009, 11:52
Ответить | Цитировать
Гость
Гость

огромное спасибо за совет. Эта тема помогла оформить табличный вывод навигации с заданным количеством столбцов!
198 196 2009-09-16 11:52:19 7732
Описание проекта