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

Облаго тегов. Количество тегов для конкретного соообщения

19.06.2009, 10:17
Гость
Гость

Как определить количество тегов для отдельного сообщения, чтобы вывести затем блок

Код:
<p>Ключевые слова: ".listQuery("SELECT a.Tag_ID, b.Tag_Text FROM Tags_Message AS a LEFT JOIN Tags_Data AS b ON a.Tag_ID=b.Tag_ID WHERE Sub_Class_ID=$cc AND Message_ID=$f_RowID GROUP BY a.Tag_ID", "<a href='/tags/?tag=$data[Tag_ID]&tagcc=$cc'>$data[Tag_Text]</a> ")." 


т.е. не нужно не выводить блок ключевых слов, если к данному сообщению не указан ни один тег и соотв. количество тегов = 0
21.06.2009, 09:08
malich
Андрей Малков

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

Как вариант вставьте оформление внутрь запроса:
", "
".opt($i==0,"Вставляем оформление перед выводом первого тега")."
<a href='/tags/?tag=$data[Tag_ID]&tagcc=$cc'>$data[Tag_Text]</a>
")."

Как второй вариант написать свою функцию подсчета тегов (COUNT) на основе запроса на вывод тегов и в зависимости от ее результата выводить нужное оформление и запросы
23.06.2009, 06:44
roman
Будько Роман Викторович

Зарегистрирован:
2008-08-29
Сообщений: 6

решение найдено. в шаблоне вывода одного объекта в компоненте добавляем код

Код:

";
/* Теги новости */
$tags_num = $db->get_var("SELECT COUNT(*) as num FROM `Tags_Message` WHERE Sub_Class_ID=$cc AND Message_ID=$f_RowID");
if ($tags_num > 0) echo "<div class="page-tags-keywords">Ключевые слова: <span class=keywords>".listQuery("SELECT a.Tag_ID, b.Tag_Text FROM Tags_Message AS a LEFT JOIN Tags_Data AS b ON a.Tag_ID=b.Tag_ID WHERE Sub_Class_ID=$cc AND Message_ID=$f_RowID GROUP BY a.Tag_ID", "<a href='/tags/?tag=$data[Tag_ID]&tagcc=$cc'>$data[Tag_Text]</a>, ")."</span></div>";
echo "
198 196 2009-06-23 06:44:29 10090
Описание проекта