| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
serglif 14.10.2004 06:58
Был необходим именно отбор записей таблицы, в полях которых нашлись совпадения... Сам я решил примерно так (Потом правда переделал на MySQL базу, где этот отбор перенес на стадию конструктора таблицы. Потому дословный код не сохранился, но академический интерес остался :) ):......................................
$items[^items.select(^search_record[])]
@search_record[]
$result[0]
^searchfields.$table.foreach[key;value]{
^questions.foreach[nkey;nvalue]{
^if(^items.[$value].pos[$nvalue]>-1){$result[1]}
}
}Правда если необходимо вызывать процедуру, где происходит поиск, рекурсивно, то приходится дополнительно формировать хэш для передачи в процедуру @search_record[] записей таблицы по которым нужно искать, так как items при возможности рекурсивного вызова необходимо делать локальной.