|
|
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 "
|