О-о-о, это будет цирк на конной тяге.
1) Сначала получим самую первую новость:
Код |
---|
$res = CIBlockElement::GetList(
array('ACTIVE_FROM' => 'DESC'),
array(
'IBLOCK_ID' => 12345,
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
),
false,
array('nTopCount' => 1),
$arSelect
);
|
2) Допустим, у первой новости были теги "лыжи, ласты, солидол". Тогда вторая новость может быть найдена таким запросом:
Код |
---|
$res = CIBlockElement::GetList(
array('ACTIVE_FROM' => 'DESC'),
array(
'IBLOCK_ID' => 12345,
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
array(
'LOGIC' => 'AND',
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'лыжи',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'ласты',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'солидол',
))),
),
),
false,
array('nTopCount' => 1),
$arSelect
);
|
3) Допустим, у второй новости были теги "кактус, короед". Тогда третью новость можно найти таким запросом:
Код |
---|
$res = CIBlockElement::GetList(
array('ACTIVE_FROM' => 'DESC'),
array(
'IBLOCK_ID' => 12345,
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
array(
'LOGIC' => 'AND',
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'лыжи',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'ласты',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'солидол',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'кактус',
))),
array('!ID' => CIBlockElement::SubQuery('ID', array(
'%TAGS' => 'короед',
))),
),
),
false,
array('nTopCount' => 1),
$arSelect
);
|
4) .....
5) .....
6) .....
7) .....
8) Надеюсь, у вас ещё не упал MySQL-сервер.