Как сделать скрипт поиска по MySQL

Алексей Ткачёв

Пользователь
Регистрация
16.03.13
Сообщения
54
Реакции
15
Баллы
3
Возраст
33
Адрес
Дома
Я хочу сделать скрипт поиска по БД mysql, вот примерно как выглядит таблица.
-- Структура таблицы `search`
--

CREATE TABLE `search` (
`id` varchar(4) NOT NULL default '',
`text` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`,`text`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Дамп данных таблицы `search`
--

INSERT INTO `search` VALUES ('2', 'Кожаные ремни');
INSERT INTO `search` VALUES ('3', 'Кожаные шорты');
INSERT INTO `search` VALUES ('4', 'Кожаные перчатки');

Имя базы id's, значит нужен скрипт поиска по этим словам и чтоб показывало сам ID. Например вписал Кожаные ремни и тебе выдаст цифру 2. Я только начинающий, базу составил сам, думаю правильно, есть что, то там будет 9990 строк. Базу то составить ума хватило, а вот чтоб поиск был по этим словам, не хватает пока. Покажет кто как составить скрипт поиска?:)
 

Ночная странница

Пользователь
Регистрация
30.01.12
Сообщения
1.751
Реакции
965
Баллы
28
Возраст
47
Алексей Ткачёв, я в базах данных сама только начинаю разбираться, но заинтересовавшись вопросом, советую почитать хотя бы вот тут...
 

Алексей Ткачёв

Пользователь
Регистрация
16.03.13
Сообщения
54
Реакции
15
Баллы
3
Возраст
33
Адрес
Дома
Алексей Ткачёв, я в базах данных сама только начинаю разбираться, но заинтересовавшись вопросом, советую почитать хотя бы вот тут...

Спасибо, щас на денвере буду тестировать:)

Добавлено через 22 минуты
Вообщем не рабочая тема. Щас буду искать скрипты на vanta. Если найду, отпишусь что рабочее а что нет, ведь всем интересно думаю
 

Алексей Ткачёв

Пользователь
Регистрация
16.03.13
Сообщения
54
Реакции
15
Баллы
3
Возраст
33
Адрес
Дома
Получилось. Вот форма
Код:
<form action="search.php" method="post">
Название<br>
<input type="text" name="text" size="60" value="">
<input type="submit" name="submit" value="Искать">
<input type="reset" name="reset" value="Очистить">
</form>

вот скрипт, который осуществляет поиск
Код:
<?php

$link = mysql_connect("localhost", "root", "") or die("Не соединилось!!!");
mysql_select_db("id") or die("Не найдена БД");

$query = "SELECT * FROM search WHERE UPPER(text) LIKE '%".strtoupper($_POST['text'])."%'";
$result = mysql_query($query) or die("Запрос ошибочный");

print "<table>";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "<tr>"; for ($i=1;$i<=2;$i++) { print "<td>$line[$i]</td>"; }
print "</tr>";
}
print "</table>";

mysql_free_result($result);
 mysql_close($link);
?>

а вот дамп базы
Код:
-- Структура таблицы `search`
--
CREATE TABLE `search` ( `id_mag` int(11) NOT NULL auto_increment, `id` varchar(4) default NULL, `text` varchar(100) default NULL, PRIMARY KEY (`id_mag`), KEY `idx_id` (`id`), KEY `idx_test` (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `search`
--
INSERT INTO `search` VALUES (1, '2', 'Кожаные ремни');
INSERT INTO `search` VALUES (2, '3', 'Кожаные перчатки');

Вот и рабочая тема, может кому пригодится. Ищет по словам, выдаёт все возможные варианты. В моём случае тут 9990 строк в базе, ищет шустро и чётко
 

Статистика форума

Темы
200.483
Сообщения
380.307
Пользователи
327.889
Новый пользователь
Omaxis
Сверху Снизу