Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.
Поиск по комментариям сообщений
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Поиск по комментариям сообщений
Добрый вечер
поставил на форум модуль который позволяет комментировать сообщения форума https://www.phpbb.com/community/viewtop ... &t=2169115.
Вопрос в том как сделать отдельную страницу для поиска текста в комментариях или добавить в существующую функции поиска возможность искать в комментариях текст.
нужно чтобы в результате поиска выводило комментарии с силками на сообщения в которых эти комментарии
не нашел мануалов по phpbb custom search functions
за ранее благодарен.
поставил на форум модуль который позволяет комментировать сообщения форума https://www.phpbb.com/community/viewtop ... &t=2169115.
Вопрос в том как сделать отдельную страницу для поиска текста в комментариях или добавить в существующую функции поиска возможность искать в комментариях текст.
нужно чтобы в результате поиска выводило комментарии с силками на сообщения в которых эти комментарии
не нашел мануалов по phpbb custom search functions
за ранее благодарен.
Последний раз редактировалось Vova_OB 23.11.2013 17:27, всего редактировалось 1 раз.
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 5 месяцев
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Поиск по комментариям сообщений
У кого как...Vova_OB писал(а):Борый вечер
А что стандартный поиск по комментариям не ищет?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
Нет не ищет, поскольку в базу новая таблица добавлена, и комментрии в ней хранятсявладимир1983 писал(а):А что стандартный поиск по комментариям не ищет?
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11372
- Стаж: 16 лет 9 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: Поиск по комментариям сообщений
А откуда ты в этом уверен? Ты таблицу поисковых индексов после обновлял? Точно не появилось в поиске?Vova_OB писал(а):Нет не ищет
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
Попробую объяснить.
Установленный модуль позволяет комментировать и тему и сообщения в теме(ответы темы). Когда в вожу в строку общего поиска по форуму текст который совпадает с текстом в комментарие то он не находит сообщения в котором комментарий. И нужно или добавить в поиск возможность поиска по комментариям в сообщениях форума или сделать отдельную страницу на которой можно вводить искомое по комментариям и будет выводится список сопадений с силками на сообщения в которых эти комментарии.
Разработчиком мода изначально это не было предусмотрено в коде модуля ни одного слова search.
Установленный модуль позволяет комментировать и тему и сообщения в теме(ответы темы). Когда в вожу в строку общего поиска по форуму текст который совпадает с текстом в комментарие то он не находит сообщения в котором комментарий. И нужно или добавить в поиск возможность поиска по комментариям в сообщениях форума или сделать отдельную страницу на которой можно вводить искомое по комментариям и будет выводится список сопадений с силками на сообщения в которых эти комментарии.
Разработчиком мода изначально это не было предусмотрено в коде модуля ни одного слова search.
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
Сделал php html версию поиска, работает отлично но переделать в формат phpbb3 не удается.Скажите в чем ошибки.Вот исходный скрипт первый который работает и searchin.php и searchin.html для форума которые не работают
Рабочий который ножно переделать для форума:
Файл форума searchin.php:
Файл форума searchin.html:
Рабочий который ножно переделать для форума:
Код: Выделить всё
<?php
$db_hostname = '';
$db_username = '';
$db_password = '';
$db_database = '';
// Database Connection String
$con = mysql_connect($db_hostname,$db_username,$db_password);
mysql_set_charset('utf8',$con);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_database, $con);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="" method="post">
<input type="text" name="term" /><input type="submit" value="Submit" />
</form>
<?php
if (!empty($_REQUEST['term'])) {
// COMMENTS_TABLE phpbb3_comments fields(id, post_id, text)
//$term = mysql_real_escape_string($_REQUEST['term']);
$term = $_REQUEST['term'];
$sql = "SELECT * FROM phpbb3_comments WHERE text LIKE '%".$term ."%' COLLATE utf8_general_ci";
//$sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'";
$r_query = mysql_query($sql);
echo '<table border="1">';
echo '<tr><td>Comment ID</td><td>Post ID</td><td>Comment</td></tr>';
while ($row = mysql_fetch_array($r_query)){
echo '<tr><td>' .$row['id'].'</td>';
echo '<td>' .$row['post_id'].'</td>';
echo '<td>'.$row['text'].'</td></tr>';
}
echo '</table>';
}
?>
</body>
</html>Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(array('posting', 'search'));
//$bb_code = request_var('bbc', '');
$submit = request_var('submit', false);
$start = request_var('s', 0);
$term = request_var('term','');
if ($submit)
//$sql = "SELECT * FROM phpbb3_comments WHERE text LIKE '%".$term ."%' COLLATE utf8_general_ci";
{
$sql = 'SELECT * FROM '. COMMENTS_TABLE .' WHERE text LIKE "%'.$term .'%" COLLATE utf8_general_ci';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('row', array(
'COMMENT_ID' => $row['id'],
'POST_ID' => $row['post_id'],
'COMMENT' => $row['text'],
));
}
}
$template->assign_vars(array(
'TERM' => $term ,
'S_ACTION' => append_sid("{$phpbb_root_path}searchin.$phpEx"),
));
// Output the page
page_header('');
$template->set_filenames(array(
'body' => 'searchin.html')
);
page_footer();
?>Код: Выделить всё
<!-- INCLUDE overall_header.html -->
<h3>Search in comments</h3><br />
<form action="{S_ACTION}" method="post">
<input type="text" name="{TERM}" />
<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain"/>
</form>
<table class="tablebg" width="50%" cellspacing="1" cellpadding="4" border="0">
<tr>
<th >{L_COMMENT_ID}</th><th >{L_POST_ID}</th><th >{L_COMMENT}</th>
</tr>
<!-- IF .row -->
<!-- BEGIN row -->
<tr><td class="row1">{row.COMMENT_ID}</td><td> {row.POST_ID}</td><td>{row.COMMENT}</td></tr>
<!-- END row -->
<br /><hr />
<!-- ELSE -->
<p class="error"><b>{L_NO_SEARCH_RESULTS}</b></p>
<!-- ENDIF -->
</table>
<!-- INCLUDE overall_footer.html -->-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 8 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поиск по комментариям сообщений
Vova_OB
Пока не поздно, обязательно замените
на
Пока не поздно, обязательно замените
Код: Выделить всё
$sql = 'SELECT * FROM '. COMMENTS_TABLE .' WHERE text LIKE "%'.$term .'%" COLLATE utf8_general_ci';Код: Выделить всё
$sql = 'SELECT * FROM '. COMMENTS_TABLE .' WHERE text '.$db->sql_like_expression(str_replace('*', $db->any_char, $term)).' COLLATE utf8_general_ci';Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
Заменил, но все равно еще не работает, где то есть еще ошибки.Sheer писал(а):Пока не поздно, обязательно замените
это око поиска по комментариям.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 8 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поиск по комментариям сообщений
Что именно не работает?
Включи debugSheer писал(а):где то есть еще ошибки.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
дебаг включен все время. ошибок на экран не выводит. когда ввожу слово тест в окно поиска должно выдать 4 результата а на данный момент не выводи по нажатию кнопки сабмит. чтото у меня там не правильно
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 8 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поиск по комментариям сообщений
ЭтоVova_OB писал(а):чтото у меня там не правильно
Код: Выделить всё
<input type="text" name="{TERM}" />$term принимает значение "пусто"Должно быть так
Код: Выделить всё
<input type="text" name="term">Код: Выделить всё
$term = request_var('term', '');Код: Выделить всё
$term = request_var('term', '', true);Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
Зманенил все как вы сказали и подправил html. еще не работает. кеш регулярно обновляю
php
html
php
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(array('posting', 'search'));
//$bb_code = request_var('bbc', '');
$submit = request_var('submit', false);
$start = request_var('s', 0);
$term = request_var('term', '', true);
if ($submit)
//$sql = "SELECT * FROM phpbb3_comments WHERE text LIKE '%".$term ."%' COLLATE utf8_general_ci";
{
$sql = 'SELECT * FROM '. COMMENTS_TABLE .' WHERE text '.$db->sql_like_expression(str_replace('*', $db->any_char, $term)).' COLLATE utf8_general_ci';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('row', array(
'COMMENT_ID' => $row['id'],
'POST_ID' => $row['post_id'],
'COMMENT' => $row['text'],
));
}
}
$template->assign_vars(array(
'TERM' => $term ,
'S_ACTION' => append_sid("{$phpbb_root_path}searchin.$phpEx"),
));
// Output the page
page_header('');
$template->set_filenames(array(
'body' => 'searchin.html')
);
page_footer();
?>Код: Выделить всё
<!-- INCLUDE overall_header.html -->
<h3>Search in comments</h3><br />
<form action="{S_ACTION}" method="post">
<input type="text" name="term" />
<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain"/>
</form>
<table class="tablebg" width="50%" cellspacing="1" cellpadding="4" border="0">
<tr>
<th >{L_COMMENT_ID}</th><th >{L_POST_ID}</th><th >{L_COMMENT}</th>
</tr>
<!-- BEGIN row -->
<tr><td class="row1">{row.COMMENT_ID}</td><td> {row.POST_ID}</td><td>{row.COMMENT}</td></tr>
<!-- END row -->
</table>
<!-- INCLUDE overall_footer.html -->-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 8 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поиск по комментариям сообщений
Вывод промежуточных результатов весьма помогает.
Перед
вставь
и проверь, что передается в
ЗЫ. У меня работает
Перед
Код: Выделить всё
$result = $db->sql_query($sql);Код: Выделить всё
print "Term $term<br />$sql<br />";$term, и какой sql запрос получается.ЗЫ. У меня работает
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Vova_OB
- phpBB 2.0.2
- Сообщения: 310
- Стаж: 16 лет 4 месяца
- Откуда: Kiev Ukraine
- Благодарил (а): 74 раза
- Поблагодарили: 8 раз
Re: Поиск по комментариям сообщений
работает но віводит результат если слово целяком вставить. если только тес то невыводит ничего, а должно по части слова тоже находить
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 8 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поиск по комментариям сообщений
Синтаксис
http://www.phpbbguru.net/community/search.php -
$db->sql_like_expression(str_replace('*', $db->any_char, $term)) ни о чем не говорит?http://www.phpbbguru.net/community/search.php -
Используйте * в качестве шаблона для частичного совпадения.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

