вопрос
Всем привет, с новым годом всех! Подскажите пожалуйста как в своём модуле сделать быстрый поиск?
обычный поиск работает без проблем, но хочется сделать выпадающий столбик (как в dle) с найдеными постами.
Я использую такие скрипты:
обычный поиск работает без проблем, но хочется сделать выпадающий столбик (как в dle) с найдеными постами.
Я использую такие скрипты:
<?php
@error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);
@ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE);
define('DATALIFEENGINE', true);
define('ROOT_DIR', substr(dirname(__FILE__), 0, -25));
define('ENGINE_DIR', ROOT_DIR . '/engine');
include ENGINE_DIR . '/data/config.php';
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';
dle_session();
require_once ENGINE_DIR . '/classes/parse.class.php';
require_once ENGINE_DIR . '/modules/sitelogin.php';
require_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
if( ! $is_logged ) $member_id['user_group'] = 5;
require_once ENGINE_DIR. '/modules/music/classes/music.class.php';
$music = new music;
$mainGroup = $is_logged ? $member_id['user_group'] : 5;
$music->userGroupId = $mainGroup;
if(!$config['fast_search'] OR !$user_group[$member_id['user_group']]['allow_search']) die("error");
$user_group = get_vars( "usergroup" );
if( ! $user_group ) {
$user_group = array ();
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
while ( $row = $db->get_row() ) {
$user_group[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$user_group[$row['id']][$key] = stripslashes($value);
}
}
set_vars( "usergroup", $user_group );
$db->free();
}
$text = $_REQUEST['text'];
$db->query("SELECT * FROM ".PREFIX."_music WHERE name LIKE '%{$text}%' ORDER BY date DESC LIMIT 0,10");
while ($row = $db->get_row()) {
if(dle_strlen($row['name'], $config['charset']) > 30)
$name = strip_tags(stripslashes(dle_substr($row['name'], 0, 30, $config['charset'])." ..."));
else
$name = strip_tags(stripslashes($row['name']));
$full_link = $music->parseUrl('?do=music&op=showfull&id='.$row['id'], 'music/showfull/'.$row['id']);
$id = $row['id'];
$date = $music->formatDate($music->config['date_format'], $row['date']);
$server = $row['onserver'];
$username = stripslashes($row['autor']);
}
$buffer = <<<HTML
<span id="playlist" url="{$server}" class="strack">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<div class="item">
<div class="btn play" id="{$id}" onclick="zpPlayerLoad('{$server}', '{$name}', this.id);"></div>
<div class="title"><a href="{$full_link}" style="color:#888; text-decoration:none;">{$name}</a></div>
</div>
</td>
<td style="width:160px; padding-top:1px;">
<div class="track-info">
<span>Добавил:</span> <b>{$username}</b><br>
<span>Добавлен:</span> {$date}<br>
</div>
</td>
</tr>
</tbody>
</table>
</span>
<div class="hr"></div>
HTML;
@header("Content-type: text/html; charset=" . $config['charset']);
echo $buffer;
?>
function MusicSearch() {
$('#text').attr('autocomplete', 'off');
$('#text').blur(function(){$('#musicsearch').fadeOut();});
$('#text').keyup(function() {
var inputString = $(this).val();
if(inputString.length == 0) {
$('#musicsearch').fadeOut();
}
else {
if (search_value != inputString && inputString.length > 3) {
clearInterval(search_delay);
search_delay = setInterval(function() {do_search(inputString);}, 600);
}
}
});
};
function do_search(inputString) {
alert(inputString);
clearInterval(search_delay);
$('#musicsearch').remove();
$("body").append("<div id='musicsearch' style='display:none'></div>");
$.post(dle_root + "engine/modules/music/ajax/music-search.php", {text: ""+inputString+""}, function(data) {
alert(data);
$('#musicsearch').html(data).fadeIn().css({'position' : 'absolute', top:0, left:0}).position({my: "left top", at: "left bottom", of: "#text", collision: "fit flip"});
});
search_value = inputString;
};
$(function(){
MusicSearch();
});
<form method="get" name="search" id="search" action="/index.php">
<input type="hidden" name="do" value="music">
<input type="hidden" name="op" value="search">
<input id="text" x-webkit-speech="" speech="" onwebkitspeechchange="this.form.submit();" class="text" name="text" type="text" onblur="if (value == '') {value = 'Поиск треков'}" onfocus="if (value == 'Поиск треков') {value =''}" value="Поиск треков" autocomplete="off">
<input type="submit" class="zp-button" title="Найти" value="Найти">
</form>