Создание поиска

2.48K
.
Только что-бы искало по совпадению и в названий и в описании и адрес.Что б небыло такого что ищет только по названию или описанию.
.
(\/)____o_O____(\/)
Edelina, сам код поиска, нужно подключение к базе, шапка с нужной кодировкой и прочее
$search = isset($_POST['query']) ? trim($_POST['query']) : '';

echo '<div>Поиск</div><div><form action="" method="post">' 
. '<div><input type="text" value="' . $search . '" name="query" /></div>' 
. '<div><input type="submit" value="Искать" name="submit" /></div>' 
. '</form></div>';

if ($search) {
    $query = mysql_real_escape_string($search);
    
    $sql = mysql_query("select *, match (`name`, `description`, `adress`) against ('$query' in boolean mode) as `rel` from `se` where match (`name`, `description`, `adress`) against ('$query' in boolean mode) > 0 group by `name` order by `rel` desc");
    
    $total = @mysql_num_rows($sql);
    
    if ($total) {
         echo '<div>Всего найдено: ' . $total . '</div>';
        while($row = mysql_fetch_assoc($sql)) {
            echo '<div>Релевантность: ' . round($row['rel'], 2) . '</div>'
            . '<div>' . $row['name'] . '</div>'
            . '<div>' . $row['description'] . '</div>'
            . '<div>' . $row['adress'] . '</div><hr />';
        }
    } else {
        echo '<div>Ничего не найдено</div>';
    }

сама таблица для поиска
CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `description` text NOT NULL,
  `adress` text NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `name` (`name`),
  FULLTEXT KEY `description` (`description`),
  FULLTEXT KEY `adress` (`adress`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


INSERT INTO `test` (`name`, `description`, `adress`) VALUES
('Магазин дестких игрушек', 'в магазине в наличии много всяких игрушек', 'Ленина 14'),
('склад автозапчастей', 'есть всякого рода запчасти на любые автомобили, колеса, диски, бампера', 'Энгельса 18'),
('мэрия города', 'сидят злые дядьки в костюмах', 'Московский проспект 1'),
('Магазин женской одежды', 'барахло, туфли , шляпки', 'Ленина 24');
.
(\/)____o_O____(\/)
скрин
Прикрепленные файлы:
.
(\/)____o_O____(\/)
скрин2
Прикрепленные файлы:
.
(\/)____o_O____(\/)
скрин3
Прикрепленные файлы:
.
Koenig, Если не трудно можеш выложить в txt чтоб скачать можно было.Спасибо.
.
(\/)____o_O____(\/)
Edelina, файл
Прикрепленные файлы:
.
Koenig, Спасибо тебе!Буду дальше теперь себя мучать.Если что,обращаться можно будет к тебе? Я не профи но будем пробовать.
.
(\/)____o_O____(\/)
Edelina, по возможности поможем, пиши на форум
.
(\/)____o_O____(\/)
когда дамп делал, таблицу переименовал, так что в запросе поменять надо имя
from `se` на from `test`
Всего: 104