Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Сортировка статей по алфавиту

29.04.2010, 15:22
ditas

Зарегистрирован:
2009-06-23
Сообщений: 7

Здравствуйте.
Очень нужна помощь в решении след. задачи.
Нужно реализовать сортировку терминов в Глоссарии по приниципу: ссылка
В разделе есть компонент с двумя полями:
1 - сам термин
2 - его значение
Необходимо разбить раздел на страницы (по алфавиту) и выводить на каждой из страниц термины начинающиеся на соответствующую букву.
29.04.2010, 16:12
malich
Андрей Малков

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

1. в компоненте прописываете ссылки вида
Код:
<a href='?search=Г'>Г</a>


2. В системных настройках пишите
Код:
if($search) $query_where = "(name LIKE '$search%')";


name- поле по которому производится поиск
30.04.2010, 10:03
ditas

Зарегистрирован:
2009-06-23
Сообщений: 7

Спасибо большое за подсказку.
Появился еще один вопрос - а возможно ли сделать выборку по терминам, чтобы ссылки вида <a href='?search=Г'>Г</a> появлялись только на те буквы, на которые есть термины?
30.04.2010, 10:35
malich
Андрей Малков

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

Нужно сделать примерно так:

1. помечаем активную букву
Код:
".('$search'=='Г'?" <b>Г</b> ":" <a href='?search=Г'>Г</a> ")."


2. смотрим есть ли термины на эту букву
Код:
".(($db->get_var("SELECT COUNT(*) as n FROM Message$classID WHERE name LIKE 'Г' AND Checked=1") >> 0)?"
термины есть выводим ссылку
".('$search'=='Г'?" <b>Г</b> ":" <a href='?search=Г'>Г</a> ")."

":"
терминов нет выводим просто букву
<b>Г</b>

")."


В системных настройках компонента можно еще дописать условие
Код:
if($search) $query_where = "(name LIKE '$search%')";
if(!$search) $query_where = "(name LIKE 'А')";

если переменной $search нет делаем выборку по какой то первой букве
30.04.2010, 12:05
ditas

Зарегистрирован:
2009-06-23
Сообщений: 7

Очень помогли. Спасибо вам большое!
198 196 2010-04-30 12:05:34 9938
Описание проекта