Поиск по ГД документам

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Скрипт для тех, кто хочет научится соединяться с базой и выбирать результаты из БД
// На самом деле ОК имеет хороший встроенный поиск по документам. А также в объекте списка ГД
// есть раздел "поиск по документам" в котором нужно ввести параметр GET запроса, например keyword и тогда при выводе списка
// в адресной строке браузера если добавить /?keyword=word, поиск будет в списке искать по этому слову
<?
global $ctx;
$db = $ctx->_getDB();
if (isset($_GET['keyword']))
{
$keywords = escapeTags($_GET['keyword']);
$keyword = "%".$keywords."%";
}
else
{
$keyword = '';
}
// Поиск по документам
$res_docs = $db->query("
SELECT
dshybrid.header AS header,
dshybrid_...id AS id,
dshybrid_...f_... AS ...,
FROM
dshybrid_... INNER JOIN dshybrid ON dshybrid_....id=dshybrid.id
WHERE
dshybrid.published>0
AND
dshybrid.header LIKE '$keyword' OR dshybrid_....f_... LIKE '$keyword'
ORDER BY
f_date DESC",
$db);
$docs = array();
for($i=0;$row = mysql_fetch_array($res_docs);$i++)
{
$docs[$i]['id'] = $row['id'];
$docs[$i]['header'] = $row['header'];
$docs[$i]['href'] = '/..../'.$row['id'];
}
// Присвоение масивов
$ctx->_smarty->assign('docs', $docs);
?>