<?
error_reporting(0); // Any notices/warnings will cause errors in suggest javascript
require_once('../../settings/database.php');
require_once('../../settings/conf.php');
if (get_magic_quotes_gpc()==1) {
$_GET['q'] = stripslashes($_GET['q']);
}
$_GET['q'] = addslashes($_GET['q']);
/*
if search string too small, do not search for keywords/phrases
*/
if (strlen($_GET['q'])<3)
{
$suggest_phrases = false;
$suggest_keywords = false;
}
/*
check if search string is phrase
*/
if (!strpos($_GET['q'],' '))
{
$suggest_phrases = false;
}
/*
searches from saved queries (query_log table)
*/
if ($suggest_history && $_GET['q']!='"')
{
$result = mysql_query($sql = "
SELECT query as keyword, max(results) as results
FROM {$mysql_table_prefix}query_log
WHERE results > 0 AND (query LIKE '{$_GET['q']}%' OR query LIKE '\"{$_GET['q']}%')
GROUP BY query ORDER BY results DESC
LIMIT $suggest_rows
");
if($result && mysql_num_rows($result))
{
while($row = mysql_fetch_array($result))
{
$values[$row['keyword']] = $row['results'];
}
}
}
/*
phrase search
!! LOCATE: in MySQL 3.23 this function is case sensitive, while in 4.0 it's only case-sensitive if either argument is a binary string
*/
if ($suggest_phrases)
{
$_GET['q'] = strtolower( str_replace('"','',$_GET['q'] ));
$_words = substr_count($_GET['q'],' ') + 1;
$result = mysql_query($sql = "
SELECT count(link_id) as results, SUBSTRING_INDEX(SUBSTRING(fulltxt,LOCATE('{$_GET['q']}',LOWER(fulltxt))), ' ', '$_words') as keyword FROM {$mysql_table_prefix}links where fulltxt like '%{$_GET['q']}%'
GROUP BY SUBSTRING_INDEX( SUBSTRING( fulltxt, LOCATE( '{$_GET['q']}', LOWER(fulltxt) ) ) , ' ', '$_words' ) LIMIT $suggest_rows
");
if($result && mysql_num_rows($result))
{
while($row = mysql_fetch_array($result))
{
//$row['keyword'] = preg_replace("/[^\s\w]/ims",'',$row['keyword']);//array('.',',','?')$row['keyword']);
$values[$row['keyword']] = $row['results'];
}
}
}
/*
keyword search
*/
elseif ($suggest_keywords)
{
for ($i=0;$i<=15; $i++) {
$char = dechex($i);
$result = mysql_query($sql = "
SELECT keyword, count(keyword) as results
FROM {$mysql_table_prefix}keywords INNER JOIN {$mysql_table_prefix}link_keyword$char USING (keyword_id)
WHERE keyword LIKE '{$_GET['q']}%'
GROUP BY keyword
ORDER BY results desc
LIMIT $suggest_rows
");
if($result && mysql_num_rows($result)) {
while($row = mysql_fetch_array($result)) {
$values[$row['keyword']] = $row['results'];
}
}
}
arsort($values);
$values = array_slice($values, 0, $suggest_rows);
}
if (is_array($values))
{
arsort($values);
if (is_array($values)) foreach ($values as $_key => $_val) {
$js_array[] = 'new Array("' .str_replace('"','\"',$_key) . '", " <small class=slovo_result><b>' . $_val . '</b> страниц </small>")';
}
//print utf8_encode("new Array(" . implode(", ", $js_array) . ")");
print "new Array(" . implode(", ", $js_array) . ")";
}
?>
что можно сделать..?
Спустя 5 минут, 23 секунды (21.09.2011 - 03:01) Игорь_Vasinsky написал(а):
покажи хоть где работе....
я уже 2й день не сплю, уневерсирую твой парсер
я уже 2й день не сплю, уневерсирую твой парсер
Спустя 24 минуты, 54 секунды (21.09.2011 - 03:26) Эли4ка написал(а):
Игорь_Vasinsky
..а в чем проблема с парсером???а зачем Вы так утруждаетесь..?писали бы потихоньку..время ждет..
А работает в скрипте поисковой системы Magic Search ..сейчас не могу код дать..скрипта нет на компьютере..
..а в чем проблема с парсером???а зачем Вы так утруждаетесь..?писали бы потихоньку..время ждет..
А работает в скрипте поисковой системы Magic Search ..сейчас не могу код дать..скрипта нет на компьютере..
Спустя 4 минуты, 7 секунд (21.09.2011 - 03:30) Игорь_Vasinsky написал(а):
да просто загорелось сделать, вот и отлаживаю.
Спустя 4 минуты, 28 секунд (21.09.2011 - 03:34) Эли4ка написал(а):
Игорь_Vasinsky
понятно..так Вы можете посоветовать что нибудь по этому поводу..код этого скрипта подсказок я дала..у меня просто вопрос..все выбранные поисковые запросы записываются в БД и выводяться в этом файле в массиве..можно сделать так чтобы это не записывалось в БД ??или я не понятно написала..?
понятно..так Вы можете посоветовать что нибудь по этому поводу..код этого скрипта подсказок я дала..у меня просто вопрос..все выбранные поисковые запросы записываются в БД и выводяться в этом файле в массиве..можно сделать так чтобы это не записывалось в БД ??или я не понятно написала..?
Спустя 3 минуты, 24 секунды (21.09.2011 - 03:38) Игорь_Vasinsky написал(а):
запись проводится через INSERT, здесь я не одного не вижу - но есть SELECT - тут тока поиск по БД
Спустя 7 минут, 36 секунд (21.09.2011 - 03:45) Эли4ка написал(а):
Игорь_Vasinsky
да...я неверно сказала..так что с этим делать
да...я неверно сказала..так что с этим делать
Спустя 1 минута, 2 секунды (21.09.2011 - 03:46) Игорь_Vasinsky написал(а):
Цитата |
у меня просто вопрос..все выбранные поисковые запросы записываются в БД и выводяться в этом файле в массиве..можно сделать так чтобы это не записывалось в БД ?? |
или я не понятно написала..?
Спустя 8 минут, 47 секунд (21.09.2011 - 03:55) Эли4ка написал(а):
Игорь_Vasinsky
хны.. в этом скрипте можно как-то сделать так чтобы подсказки показывались..но потом сразу удалялись..(после выбора какого-то предложенного,ну или например если человек сам ввел запрос)...
хны.. в этом скрипте можно как-то сделать так чтобы подсказки показывались..но потом сразу удалялись..(после выбора какого-то предложенного,ну или например если человек сам ввел запрос)...
Спустя 1 минута, 39 секунд (21.09.2011 - 03:57) Игорь_Vasinsky написал(а):
если это очередной autocomplete - то есть же готовые решения. так трудно вникнуть даже в суть.
Спустя 5 минут, 38 секунд (21.09.2011 - 04:02) Эли4ка написал(а):
Игорь_Vasinsky
понятно..ладно попробую сама..
понятно..ладно попробую сама..